Jinsi ya Kufuatilia Utendaji wa Ubuntu Kwa Kutumia Netdata


Netdata ni takwimu za bure na za bandwidth, kutaja chache.

Zaidi ya hayo, Netdata pia hutoa taswira shirikishi za metriki ambazo zinaweza kufikiwa kwenye kivinjari cha wavuti pamoja na kengele mahiri zinazosaidia katika utatuzi wa hitilafu za mfumo.

Teknolojia ya hali ya juu ya Netdata na umaarufu umeipatia nafasi katika Forbes cloud 100 nyota zinazochipua mnamo 2020, ambayo si jambo la maana. Kwa kweli, wakati wa kuandika mwongozo huu, imepokea karibu nyota 50,000 za Github.

Kuna njia mbili unazoweza kutumia kusakinisha Netdata. Mara moja unaweza kuendesha hati otomatiki kwenye ganda la BASH. Hii husasisha mifumo yako na kuanzisha usakinishaji wa Netdata, Vinginevyo, unaweza kuiga hazina ya Netdata ya Git na kisha kutekeleza hati otomatiki. Njia ya kwanza ni rahisi na ya moja kwa moja na ndiyo tutazingatia katika mwongozo huu.

Katika makala haya, tutaona jinsi unavyoweza kusakinisha Netdata kwenye Ubuntu ili kufuatilia muda halisi, utendaji na ufuatiliaji wa afya wa seva na programu.

Netdata inasaidia ugawaji wa Ubuntu LTS ufuatao:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Jinsi ya Kufunga Netdata kwenye Ubuntu Linux

Ili kuanza usakinishaji, endesha amri hapa chini kwenye terminal yako ya bash ili kupakua na kutekeleza hati.

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Wakati wa utekelezaji wa hati, yafuatayo hufanyika:

  • Hati hugundua usambazaji wako wa Linux kiotomatiki, kusasisha orodha ya kifurushi, na kusakinisha vifurushi vyote vya programu vinavyohitajika.
  • Mti mpya zaidi wa chanzo cha netdata unapakuliwa kwa /usr/src/netdata.git njia.
  • Hati husakinisha netdata kwa kuendesha hati ya ./netdata-installer.sh kutoka kwa mti chanzo.
  • Sasisho hufanywa kwa cron.daily ili kuhakikisha kuwa netdata inasasishwa kila siku.

Hati inapoendeshwa, utapewa vidokezo vya jinsi ya kufikia Netdata kwenye kivinjari na jinsi ya kuidhibiti kama huduma ya mfumo.

Ufungaji huchukua muda, kwa hivyo upe kama dakika 10 na urudi. Hatimaye, utapata matokeo hapa chini wakati hati inafunga usakinishaji.

Mara baada ya kusakinishwa, anza, wezesha, na uthibitishe hali ya Netdata kama inavyoonyeshwa.

$ sudo systemctl start netdata
$ sudo systemctl enable netdata
$ sudo systemctl status netdata

Kwa chaguo-msingi, Netdata husikiza kwenye bandari 19999 na hii inaweza kuthibitishwa kwa kutumia amri ya netstat kama inavyoonyeshwa.

$ sudo netstat -pnltu | grep netdata

Ikiwa una UFW inayoendesha, jitahidi kufungua bandari 19999 kwani hii itahitajika wakati wa kufikia Netdata kwenye kivinjari.

$ sudo ufw allow 19999/tcp
$ sudo ufw reload

Hatimaye, ili kufikia Netdata, badilisha hadi kwenye kivinjari chako na uvinjari URL ifuatayo

http://server-ip:19999/

Hiki ndicho kinakusalimu mara tu unapovinjari URL. Kwa hakika, utagundua kuwa hutahitajika kuingia. Vipimo vyote vya mfumo vitaonyeshwa jinsi inavyoonyeshwa.

Unaweza kugeuza grafu mbalimbali kwa kubofya vipimo unavyopendelea kwenye upau wa kando wa kulia wa dashibodi. Kwa mfano, ili kuangalia takwimu za kiolesura cha mtandao, bofya chaguo la 'Violesura vya Mtandao'.

Kupata Netdata na Uthibitishaji wa Msingi kwenye Ubuntu

Hadi kufikia hatua hii, mtu yeyote anaweza kufikia dashibodi ya Netdata na kutazama vipimo mbalimbali vya mfumo. Hii ni sawa na ukiukaji wa usalama na bila shaka tunataka kuepuka hili.

Kwa kuzingatia hili, tutasanidi uthibitishaji msingi wa HTTP. Tunahitaji kusakinisha kifurushi cha apache2-utils ambacho hutoa programu ya htpasswd ambayo itatumika kusanidi jina la mtumiaji na nenosiri la mtumiaji. Zaidi ya hayo, tutasakinisha seva ya wavuti ya Nginx itafanya kama wakala wa nyuma.

Ili kusakinisha seva ya wavuti ya Nginx na kifurushi cha apache2-utils tekeleza amri.

$ sudo apt install nginx apache2-utils

Na Nginx na apache2-utils zilizosakinishwa, tutaunda faili ya usanidi ndani ya saraka /etc/nginx/conf.d. Walakini, jisikie huru kutumia saraka inayopatikana ya tovuti ikiwa unatumia Nginx kwa madhumuni mengine kando na Netdata.

$ sudo vim /etc/nginx/conf.d/default.conf

Ndani ya faili ya usanidi, kwanza tutaagiza Nginx kutuma seva mbadala maombi yanayoingia ya dashibodi ya Netdata. Baadaye tutaambatisha maongozi ya kimsingi ya uthibitishaji ambayo huwapa watumiaji walioidhinishwa tu ufikiaji wa dashibodi ya Netdata kwa kutumia uthibitishaji wa jina la mtumiaji/nenosiri.

Huu hapa ni usanidi mzima. Kumbuka kuchukua nafasi ya maagizo ya server_ip na example.com na anwani yako ya IP ya seva na jina la seva.

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Hebu tuelewe usanidi, sehemu kwa sehemu.

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

Tumebainisha sehemu ya juu inayoitwa netdata-backend ambayo inarejelea seva ya mtandao iliyojengewa ndani ya Netdata kwa kutumia anwani ya kitanzi 127.0.0.1 na mlango wa 19999 ambayo ndiyo mlango chaguomsingi ambao Netdata husikiliza. Maagizo ya uhifadhi hufafanua idadi ya juu zaidi ya miunganisho isiyo na kitu ambayo inaweza kubaki wazi.

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Hii ndio sehemu kuu ya kuzuia seva ya Nginx. Mstari wa kwanza unabainisha anwani ya IP ya nje ambayo Nginx inapaswa kusikiliza wakati wateja wanatuma maombi yao. Maagizo ya jina_la seva hubainisha jina la kikoa la seva na huamuru Nginx kuendesha kizuizi cha seva wakati wateja wanaita jina la kikoa badala ya anwani ya IP ya nje.

Laini mbili za mwisho zinaonyesha uthibitishaji rahisi wa HTTP unaohitaji mtumiaji kuingia kwa kutumia jina la mtumiaji na nenosiri. Sehemu ya auth_basic huanzisha jina la mtumiaji/nenosiri ibukizi kwenye kivinjari kwa Uthibitishaji Unahitajika kwenye mada ambayo inaweza kubinafsishwa ili kukidhi mapendeleo yako.

Sehemu ya auth_basic_user_file inaelekeza kwenye jina la faili ambalo litakuwa na jina la mtumiaji na nenosiri la mtumiaji aliyeidhinishwa kufikia dashibodi ya Netdata - Katika kesi hii netdata-access. Tutaunda faili hii baadaye.

Sehemu ya mwisho ni kizuizi cha eneo ambacho kimo ndani ya kizuizi cha seva. Hii hushughulikia uwasilishaji na usambazaji wa maombi yanayoingia kwa seva ya wavuti ya Nginx.

location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }

Kwa uthibitishaji, tutaunda jina la mtumiaji na nenosiri la mtumiaji anayeitwa tecmint kwa kutumia matumizi ya htpasswd na kuhifadhi vitambulisho ndani ya faili ya kufikia netdata.

$ sudo htpasswd -c /etc/nginx/netdata-access tecmint

Toa nenosiri na uthibitishe.

Ifuatayo, anzisha tena seva ya wavuti ya Nginx ili mabadiliko yaanze kutumika.

$ sudo systemctl restart nginx

Ili kujaribu ikiwa usanidi ulikwenda sawa, endelea na uvinjari anwani ya IP ya seva yako

http://server-ip

Dirisha ibukizi la uthibitishaji litaonekana kama inavyoonyeshwa hapa chini. Toa jina lako la mtumiaji na nenosiri na ubofye ENTER.

Baada ya hapo, utapata ufikiaji wa dashibodi ya Netdata.

Hii inatufikisha mwisho wa mada yetu ya leo. Umejifunza jinsi ya kusakinisha zana ya ufuatiliaji ya Netdata na usanidi wa uthibitishaji wa msingi wa HTTP kwenye Ubuntu. Jisikie huru kuangalia grafu nyingine kwenye metriki mbalimbali za mfumo.