Ինչպես տեղադրել Prometheus-ը և Node Exporter-ը AlmaLinux 9-ում


Այս էջում

  1. Հիմնական հասկացություններ, որոնք դուք պետք է իմանաք
  2. Նախադրյալներ
  3. Պրոմեթևսի տեղադրում և կարգավորում

    1. Օգտագործողի և գրացուցակների կարգավորում
    2. Պրոմեթևսի նախապես կազմված փաթեթի ներբեռնում
    3. Պրոմեթևսի կազմաձևում
  4. Թիրախային մոնիտորինգի վրա հանգույցի արտահանողի տեղադրում և կարգավորում

    1. Node Exporter-ի ներբեռնում և տեղադրում
    2. Գործող հանգույցի արտահանողը ֆոնին որպես ծառայություն
  5. Prometheus սերվերին Node Exporter-ի ավելացում
  6. Եզրակացություն

Պրոմեթևսը բաց կոդով մոնիտորինգի և ահազանգման հարթակ է:

Ի սկզբանե Prometheus-ը ստեղծվել է Soundcloud-ի կողմից 2012 թվականին: Այդ ժամանակից ի վեր որոշ հայտնի ընկերությունների կողմից ընդունված Prometheus նախագիծը դարձել է ավելի մեծ նախագիծ՝ շատ ակտիվ ծրագրավորողներով և համայնքով: Իսկ 2016 թվականին Պրոմեթևս նախագիծն ավարտվել է Cloud Native Computing հիմնադրամի (CNCF) ներքո։

Հիմնական հասկացություններ, որոնք դուք պետք է իմանաք

Հիմնականում Պրոմեթևսը տվյալներ և չափումներ է հավաքում HTTP վերջնակետերի միջոցով թիրախային սերվերներից, այնուհետև պահում է բոլոր տվյալները որպես ժամանակային շարք: Պրոմեթևսում ժամանակային շարքի տվյալները նույնականացվում են մետրիկ անվանմամբ և բանալին/արժեք զույգերով:

Պրոմեթևսն ապահովում է ճկունություն Prometheus Query Language (PromQL) միջոցով: Դուք կարող եք օգտագործել PromQL-ը Պրոմեթևսի ժամանակային շարքերի տվյալների բազայում հարցումներ անելու համար:

Թիրախային սերվերների վրա դուք պետք է տեղադրեք «արտահանող» հավելվածը, որը ցուցադրում է Պրոմեթևսի բոլոր տվյալները և չափումները: «Node Exporter»-ը սովորաբար օգտագործվող արտահանող է Linux մեքենաները վերահսկելու համար:

Հանգույց արտահանողը բացահայտում է ապարատային և միջուկի հետ կապված մատրիկան Linux մեքենաներից: Դա մեկ երկուական ֆայլ է, որը կբացահայտի տվյալների վերջի չափումները Պրոմեթևսի սերվերին:

Այս ուղեցույցը ձեզ ցույց կտա Prometheus-ի և Node Exporter-ի տեղադրումը AlmaLinux 9 սերվերների վրա:

Նախադրյալներ

Սկսելուց առաջ համոզվեք, որ ունեք հետևյալը.

  • Երկու AlmaLinux 9 սերվեր - Այս օրինակը կօգտագործի առանձին սերվեր Prometheus-ի և Node Exporter-ի համար:
  • Ոչ արմատային օգտվողը կարող է կատարել sudo՝ արմատային արտոնություններ ստանալու համար:

Պրոմեթևսի տեղադրում և կարգավորում

Պրոմեթևսը բաց կոդով և ժամանակակից համակարգի մոնիտորինգի և ահազանգման համակարգ է: Այն կարող է տեղադրվել ավանդական Unix/Linux սերվերների վրա նախապես կազմված փաթեթի միջոցով՝ օգտագործելով կոնտեյներային տեխնոլոգիաներ, ինչպիսիք են Docker-ը և Kubernetes-ը, կամ կազմաձևման կառավարման գործիքներ, ինչպիսիք են Ansible, Chef, Puppet և Saltstack:

Հետևյալ բաժինը ցույց է տալիս, թե ինչպես տեղադրել Prometheus-ը նախապես կառուցված երկուական ֆայլի միջոցով ALmaLinux 9 սերվերի վրա:

Լրացրեք այս քայլ առ քայլը՝ ձեր AlmaLinux սերվերում Prometheus-ի հաջող տեղադրման համար.

  • Օգտագործողի և գրացուցակների կարգավորում
  • Downloading Prometheus Binary Package
  • Պրոմեթևս սերվերի կարգավորում
  • Գործարկել Պրոմեթևսը հետին պլանում որպես համակարգված ծառայություն

Օգտագործողի և գրացուցակների կարգավորում

Նախքան Պրոմեթևսը տեղադրելը, դուք կստեղծեք նոր օգտվող և տեղեկատուներ ձեր համակարգում: Այս օգտվողը կօգտագործվի Prometheus-ը գործարկելու համար, իսկ որոշ դիրեկտորիաներ կօգտագործվեն Prometheus-ի կազմաձևման ֆայլերը և տվյալները պահելու համար:

Գործարկեք հետևյալ հրամանը՝ համակարգի նոր օգտվող prometheus ստեղծելու համար:

sudo adduser -M -r -s /sbin/nologin prometheus

Գործարկեք ստորև նշված հրամանը՝ ստեղծելու նոր գրացուցակ /etc/prometheus, որը կօգտագործվի Prometheus-ի կազմաձևման ֆայլերը պահելու համար և գրացուցակը /var/lib/prometheus, որը կօգտագործվի որպես Պրոմեթևսի տվյալների գրացուցակը:

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Այժմ գործարկեք ստորև հրամանը՝ և՛ /etc/prometheus և՛ /var/lib/prometheus դիրեկտորիաների սեփականությունը փոխելու համար prometheus օգտվողին և խմբին: պրոմեթևս:

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Պրոմեթևսի նախապես կազմված փաթեթի ներբեռնում

Այժմ դուք կտեղադրեք պրոմեթևսը ձեր սերվերի վրա: Այս ցուցադրությունում դուք կտեղադրեք Prometheus-ը նախապես կազմված երկուական փաթեթի միջոցով: Դուք կտեղադրեք Prometheus-ը AlmaLinux սերվերի վրա IP հասցեով192.168.10.20:

Գործարկեք ստորև բերված dnf հրամանը՝ ձեր համակարգում wget-ը տեղադրելու համար:

sudo dnf install wget -y

Տեղափոխեք ձեր աշխատանքային գրացուցակը /usr/src և ներբեռնեք Պրոմեթևսի նախապես կազմված երկուական ֆայլը wget-ի միջոցով:

cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz

Այժմ հանեք Prometheus երկուական ֆայլը prometheus-2.44.0.linux-amd64.tar.gz՝ օգտագործելով ստորև բերված tar հրամանը: Դուք պետք է ստանաք նոր գրացուցակ prometheus-2.44.0.linux-amd64, որը պարունակում է Prometheus երկուական ֆայլը և որոշ կանխադրված կոնֆիգուրացիաներ:

tar -xf prometheus-2.44.0.linux-amd64.tar.gz

Գործարկեք ստորև նշված հրամանը, որպեսզի պատճենեք լռելյայն Prometheus կազմաձևման ֆայլը prometheus.yml և որոշ կարևոր դիրեկտորիաներ /etc/prometheus/-ում:

sudo cp /usr/src/prometheus-*/prometheus.yml /etc/prometheus/
sudo cp -r /usr/src/prometheus-*/consoles /etc/prometheus
sudo cp -r /usr/src/prometheus-*/console_libraries /etc/prometheus

Դրանից հետո փոխեք /etc/prometheus/ գրացուցակի սեփականությունը promtheus օգտատիրոջը և prometheus խմբին՝ օգտագործելով հետևյալ հրամանը։

sudo chown -R prometheus:prometheus /etc/prometheus

Այնուհետև գործարկեք հետևյալ հրամանը՝ prometheus և promtool-ի երկուական ֆայլը /usr/bin/ գրացուցակում պատճենելու համար:

sudo cp /usr/src/prometheus-*/prometheus /usr/bin/
sudo cp /usr/src/prometheus-*/promtool /usr/bin/

Այնուհետև ստուգեք Prometheus-ը և Promtool-ը՝ օգտագործելով հետևյալ հրամանը.

which prometheus
prometheus --version
which promtool
promtool --version

Եթե տեղադրումը հաջող է, դուք պետք է տեսնեք prometheus և promtool հրամանի ամբողջական ուղին, որը գտնվում է /usr/bin/ գրացուցակում: Դուք նաև կտեսնեք Պրոմեթևսի տեղադրված տարբերակը։

Պրոմեթևսի կազմաձևում

Prometheus-ը ներբեռնելուց և տեղադրվելուց հետո դուք կսկսեք Prometheus-ի հիմնական կոնֆիգուրացիան:

Բացեք պրոմեթևսի կազմաձևման ֆայլը /etc/prometheus/prometheus.yml՝ օգտագործելով նանո խմբագրիչը:

nano /etc/prometheus/prometheus.yml

Scrape_configs պարամետրում ավելացրեք նոր աշխատանքի պրոմեթևսը՝ հենց Prometheus սերվերի թիրախով: Այս օրինակում Պրոմեթևսի սերվերն ունի 192.168.10.20 IP հասցե, և դա կփակի Պրոմեթևսի չափումները:

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["192.168.10.20:9090"]

Ավարտելուց հետո պահեք և փակեք ֆայլը:

Հաջորդը, ստեղծեք նոր systemd ծառայության ֆայլ պրոմեթևսի համար /etc/systemd/system/prometheus.service՝ օգտագործելով nano editor հրամանը:

sudo nano /etc/systemd/system/prometheus.service

Ավելացրեք հետևյալ կոնֆիգուրացիան՝ Prometheus-ը որպես համակարգային ծառայություն գործարկելու համար:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target

Պահպանեք ֆայլը և ավարտեք խմբագրիչը:

Այժմ գործարկեք հետևյալ հրամանը՝ systemd կառավարիչը վերաբեռնելու և փոփոխությունները systemd-ում կիրառելու համար:

sudo systemctl daemon-reload

Այնուհետև սկսեք և միացրեք պրոմեթևսի ծառայությունը՝ օգտագործելով systemctl հրամանը ստորև:

sudo systemctl start prometheus
sudo systemctl enable prometheus

Ստուգեք Prometheus ծառայությունը՝ համոզվելու համար, որ ծառայությունն աշխատում է:

sudo systemctl status prometheus

Եթե ձեր տեղադրումը հաջող է, դուք պետք է տեսնեք, որ «Prometheus» ծառայության կարգավիճակը ակտիվ է (աշխատում է):

Վերջապես գործարկեք ձեր վեբ զննարկիչը և այցելեք սերվերի IP հասցեն, որին հաջորդում է 9090 նավահանգիստը (այսինքն՝ http://192.168.10:20:9090/): Եթե տեղադրումը հաջող է, դուք պետք է ստանաք Պրոմեթևսի գրաֆիկի էջը հետևյալ կերպ.

Կարող եք նաև ստուգել մոնիտորինգի վերջնակետի կարգավիճակը՝ սեղմելով Կարգավիճակ > Թիրախներ: Դուք պետք է տեսնեք job_name պրոմեթևսը UP վիճակով:

Թիրախային մոնիտորինգի վրա հանգույցի արտահանողի տեղադրում և կարգավորում

Node Exporter-ը Prometheus-ի հավելված է, որը բացահայտում է թիրախային մոնիտորինգի համակարգի չափումները: Այն թույլ է տալիս քերել համակարգի մի շարք չափումներ և կարող է ենթարկվել Պրոմեթևսի հետագա գործընթացին:

Այս բաժնում դուք կտեղադրեք Node Exporter 192.168.10.21 IP հասցեով AlmaLinux 9 սերվերի վրա: Դուք կտեղադրեք Node Exporter-ը Պրոմեթևսի կողմից տրամադրված նախապես կազմված երկուական փաթեթի միջոցով:

Node Exporter-ի ներբեռնում և տեղադրում

Node Exporter-ը տեղադրելու համար դուք պետք է դրա համար ստեղծեք հատուկ համակարգի օգտատեր և ներբեռնեք Node Exporter-ի երկուական փաթեթը ձեր համակարգում:

Նախ, գործարկեք հետևյալ հրամանը՝ համակարգի նոր օգտվող node_exporter ստեղծելու համար:

sudo adduser -M -r -s /sbin/nologin node_exporter

Տեղադրեք wget-ը՝ օգտագործելով ստորև բերված dnf հրամանը:

sudo dnf install wget -y

Այնուհետև անցեք /usr/src գրացուցակ և ներբեռնեք Node Exporter-ի նախապես կազմված երկուական ֆայլը wget-ի միջոցով:

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz

Ներբեռնումն ավարտվելուց հետո դուք պետք է տեսնեք node_exporter-1.6.0.linux-amd64.tar.gz ֆայլը: Արտահանեք այն՝ օգտագործելով ստորև նշված tar հրամանը:

tar -xf node_exporter-1.6.0.linux-amd64.tar.gz

Հաջորդը, ստորև նշված հրամանի միջոցով տեղափոխեք Node Exporter-ի երկուական ֆայլը /usr/bin գրացուցակ:

mv node_exporter-*/node_exporter /usr/bin

Այժմ ստուգեք Node Exporter-ը՝ օգտագործելով ստորև նշված հրամանը: Հաջողության դեպքում դուք պետք է ստանաք ամբողջական ուղու երկուական ուղին և Node Exporter-ի տարբերակը:

which node_exporter
node_exporter --version

Գործող հանգույցի արտահանողը ֆոնին որպես ծառայություն

Node Exporter-ի տեղադրումից հետո դուք կստեղծեք և գործարկեք Node Exporter-ը հետին պլանում՝ որպես համակարգված ծառայություն:

Դա անելու համար ստեղծեք նոր systemd ծառայության ֆայլ /etc/systemd/system/node_exporter.service՝ օգտագործելով ստորև բերված nano editor հրամանը: Այս օրինակում դուք կգործարկեք Node Exporter-ը որպես համակարգային ծառայություն:

sudo nano /etc/systemd/system/node_exporter.service

Տեղադրեք հետևյալ կոնֆիգուրացիան ֆայլի մեջ.

[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=multi-user.target

Պահպանեք և դուրս եկեք ֆայլից, երբ ավարտեք:

Այժմ գործարկեք systemctl հրամանը ստորև՝ systemd կառավարիչը վերաբեռնելու համար:

sudo systemctl daemon-reload

Այնուհետև սկսեք և միացրեք node_exporter ծառայությունը՝ օգտագործելով հետևյալ հրամանը.

sudo systemctl start node_exporter
sudo systemctl enable node_exporter

Երբ node_exporter-ը գործարկվի և միացվի, գործարկեք հետևյալ հրամանը՝ այն ստուգելու և համոզվելու, որ ծառայությունն աշխատում է:

sudo systemctl status node_exporter

Եթե աշխատում է, դուք պետք է տեսնեք node_exporter ծառայությունը ակտիվ (աշխատող) կարգավիճակով:

Ի վերջո, գործարկեք հետևյալ հրամանը՝ Node Exporter-ի նավահանգիստը ստուգելու համար: Լռելյայնորեն այն աշխատում է 9100 նավահանգստում:

ss -tulpn | grep node

Դուք պետք է տեսնեք, որ 9100 նավահանգիստն օգտագործվում է node_exporter ծառայության կողմից:

Կարող եք նաև հաստատել այն վեբ բրաուզերի միջոցով՝ այցելելով սերվերի IP հասցեն, որին հաջորդում է 9100 նավահանգիստը (այսինքն՝ http://192.168.10.21:9100/): Դուք պետք է տեսնեք սերվերի մոնիտորինգի վերջնական կետի տվյալները Node Exporter-ի միջոցով:

Prometheus սերվերին Node Exporter-ի ավելացում

Այս բաժնում դուք կավելացնեք Node Exporter-ը Պրոմեթևսի սերվերին: Դուք տեղադրել և ցուցադրել եք համակարգի չափումները 192.168.10.21 սերվերի վրա, այնուհետև այն կավելացնեք Պրոմեթևսի սերվերին, որն աշխատում է 192.168.10.20-ով:

Բացեք Պրոմեթևսի կոնֆիգուրացիան /etc/prometheus/prometheus.yml՝ օգտագործելով հետևյալ նանո խմբագրիչը:

sudo nano /etc/prometheus/prometheus.yml

scrape_config պարամետրով ավելացրեք նոր job_name node_exporter_metrics և մուտքագրեք Node Exporter-ի մանրամասն վերջնակետը: Հետևյալ օրինակը կլինի սերվերի մոնիտորինգը node1 IP հասցեով 192.168.10.21:

  - job_name: 'node_exporter_metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['192.168.10.21:9100']

Պահպանեք ֆայլը և ավարտից հետո դուրս եկեք խմբագրիչից:

Այժմ գործարկեք հետևյալ հրամանը՝ պրոմեթևս ծառայությունը վերագործարկելու և փոփոխությունները կիրառելու համար։

sudo systemctl restart prometheus

Այժմ բացեք Prometheus-ը ձեր վեբ բրաուզերից և սեղմեք Կարգավիճակ > Թիրախներ՝ համոզվելու, որ Node Exporter-ն ավելացված է: Եթե հաջողվի, դուք պետք է տեսնեք node_exporter_metrics աշխատանքը UP վիճակով:

Այնուհետև անցեք Գրաֆիկ ընտրացանկ և մուտքագրեք հարցումը, որն սկսվում է հանգույց_-ով, որպեսզի ստանաք Node Exporter-ի կողմից տրամադրված հարցումների ցանկը:

Մուտքագրեք հարցումը node_network_iface_id՝ սերվերի վրա ցանցային սարքերի ցանկը ստանալու համար 192.168.10.21:

Դուք կարող եք նաև ստուգել ՕՀ-ի տեղեկատվության մանրամասները node_os_info հարցման միջոցով:

Վերջապես, մուտքագրեք հարցումը node_load15 և սեղմեք Գծապատկեր ներդիրի վրա՝ վերջին 15 րոպեի ընթացքում համակարգի բեռնվածության կարգավիճակը ստանալու համար:

Եզրակացություն

Գերազանց աշխատանք! Դուք հաջողությամբ տեղադրել եք Prometheus-ը AlmaLinux 9 սերվերի վրա, ինչպես նաև վերահսկել եք AlmaLinux սերվերը Node Exporter-ի միջոցով:

Այժմ կարող եք վերահսկել մեկ այլ սերվեր կամ վերահսկել ձեր հավելվածը Prometheus արտահանողի միջոցով: Դուք կարող եք նաև ինտեգրել ձեր Prometheus-ը Grafana-ի հետ՝ ձեր մոնիտորինգի համակարգի վիզուալիզացիայի համար: