ubuntn18 docker zabbix+grafana安裝和使用

ubuntu docker inflxudb(安裝 使用 備份 還原 以及python編碼) telegraf Grafana 我採用telegraf採集數據, 本文計劃採用zabbix來才採集數據,仍然用grafana來展現數據(爲了節約資源我把telegraf先停掉)php

sudo systemctl enable --now telegraf #添加到開機啓動
sudo systemctl disable --now telegraf #從開機啓動移除
systemctl status telegraf #查看telegraf狀態html

zabbix

模塊介紹

Zabbix Server:負責接收agent發送的報告信息的核心組件,全部配置,統計數據及操做數據均由其組織進行.前端

Zabbix Agent:部署在被監控主機上,負責收集本地數據發往Server端或Proxy端.python

Database Storage:用戶存儲全部配置信息,以及存儲由Zabbix Server收集到的數據.mysql

Web Interface: Zabbix的GUI接口,一般與Server運行在同一臺主機上web

Zabbix Proxy:經常使用於分佈監控環境中,代理Server收集部分被監控的監控數據並統一發往Server端.sql

原理介紹

Agentd安裝在被監控的主機上,Agent負責按期收集客戶端本地各項數據,併發送至Zabbix Server端,Zabbix Server收到數據,將數據存儲到數據庫中,用戶基於Zabbix WEB能夠看到數據在前端展示圖像.docker

當Zabbix監控某個具體的項目,改項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動做,動做包括:發送信息(郵件、微信、短信)、發送命令(SHELL命令、Reboot、Restart、Install等).數據庫

環境安裝

zabbix須要zabbix-server、zabbix-agent、mysql.
其中mysql已經在本機安裝了,在dockercompose文件中
寫上對應的host、user、pwd便可.json

在mysql中建立zabbix數據庫,爲了後期儲存數據使用.

使用docker安zabbix裝,docker-compose.yaml文件以下:

version: '2'
services:
  zabbix-server-service:
    image: monitoringartist/zabbix-xxl:3.2.6
    container_name: zabbix-server-service
    restart: always
    ports:
      - "9999:80"
    environment:
      - ZS_DBHost=192.168.100.3
      - ZS_DBUser=root
      - ZS_DBPassword=root
  zabbix-agent-a:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-a
      - ZBX_SERVER_HOST=zabbixserverhost
  zabbix-agent-b:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-b
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-b
      - ZBX_SERVER_HOST=zabbixserverhost

啓動命令: docker-compose up -d

 

查看日誌命令: docker logs -f zabbix-server-service

若果mysql是8.0  zabbix 是3.*的版本可能會有以下錯誤 syntax to use near 'identified by 'root'':

 

網上說下載最新版本也是扯淡,建議用mysql5.7 就能解決了

 

在這個過程當中千萬不要重啓容器 當看到以下圖就表示服務已經啓動了

 

大概啓動後1到2分鐘登陸zabbix web地址,http://192.169.100.3:9999,出現以下頁面說明安裝成功.

 

默認帳號:Admin,密碼:zabbix,登陸後出現以下頁面.

配置

修改語言

默認的語言是英文的,點擊頭像後展現修改語言選項,選擇中文而且更新便可.

 

zabbix-agent配置

以前配置兩個zabbix-agent-a和zabbix-agent-b,因此要添加兩個zabbix-agent來採集數據併發送給zabbix-server.

在配置,選擇主機,建立主機.

 

配置zabbix-agent須要其容器內的ip地址,能夠經過
docker exec -it zabbix-agent-b ip addr命令查看.

 

在建立頁面填寫其ip和選擇羣組,點擊保存便可.

 

此時添加了兩臺zabbix-agent.

 

另外還須要給zabbix-agent配置監控模版,在模版中選擇Template OS Linux而且添加便可.(這裏要點擊添加按鈕)

 

配置模版完成後,在主機列表中ZBX顯示綠色說明添加完成.

 

添加監控數據

在首頁儀表盤上,選擇經常使用的圖形.,在建立頁面選擇zabbix-agent-server-b主機和cpu jumps監控項.

 

監控數據能夠控制縮放比例和時間段.

 

grafana

簡介

grafana是一個跨平臺的開源的度量分析和可視化工具,能夠經過將採集的數據查詢而後可視化的展現.

配置

安裝grafana

可使用grafana展現zabbix的數據,製做圖表展現.

使用docker啓動grafana.

docker run -d --name=grafana2 -p 3000:3000 -v /var/lib/grafana:/var/lib/grafana grafana/grafana:3.0.4
啓動鏡像完成後,等大概1到2分鐘,在瀏覽器訪問:http://192.168.100.3:300  admin默認帳號和密碼都是.

安裝zabbix插件

安裝zabbix插件,進入grafana容器執行以下命令

docker exec -it grafana /bin/bash #進入容器
grafana-cli plugins install alexanderzobnin-zabbix-app
docker restart grafana #重啓容器
在插件中的app中,出現zabbix說明zabbix插件安裝成功.

 

 

這裏須要啓動該插件

 

zabbix數據源
在Data Sources中新增一個數據源.

數據源配置:type=Zabbix、url、Zabbix的帳號、Zabbix的密碼.

url格式爲:http://192.168.100.3:9999/api_jsonrpc.php

 

而後點擊

 

grafana面板

在Dashboards中新建一個面板.

把Panel data source數據源改爲zabbix數據源. 可用內存設置面板中參數以下:

Group=Linux servers (這個參數在zabbix設置過)   

Host=zabbix-agent-service-a   

 Application=Memory

Item=Available memory

 

grafana使用模版

https://grafana.com/grafana/dashboards中提供不少第三方模版 Servers Linux這個模版

下載模版的json文件.

 

配置模版信息.

我不知道爲何必需要把Zabbix數據源設置爲default,否則選擇不了)最終在一個面板中展現了當前cpu、內存等,相對原始的數據展現更加直觀.

參考:

https://testerhome.com/topics/18364

https://www.lengyuewusheng.com/2018/03/18/00032_influxdb-telegraf-Grafana%E7%9B%91%E6%8E%A7%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%8Ezabbix%E7%9B%91%E6%8E%A7%E7%9A%84%E5%AF%B9%E6%AF%94/

相關文章
相關標籤/搜索