Centos7.3 安裝zabbix3.4

首先須要瞭解的是zabbix是一種C/S架構的監控工具,即服務端(Server)須要安裝zabbix-server用於處理各類監控及告警信息,客戶端(Client)須要安裝zabbix-agent用於收集客戶端的監控數據。php

本地使用ansible做爲自動化工具,接來下操做結合ansible進行。mysql

官方文檔web

安裝準備

配置zabbix rpm倉庫

爲server端主機和全部client主機配置rpm鏡像庫。sql

$ ansible all -m shell -a "chdir=/tmp wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm"

$ ansible all -m shell -a "chdir=/tmp  rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm"

安裝

官方文檔: https://www.zabbix.com/documentation/3.0/manual/installationshell

Server端

$ yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

$ systemctl start zabbix-server
$ systemctl enable zabbix-server

zabbix數據存儲

zabbix數據存儲依賴於MySQL或postgresql,在此使用mysql,若是未安裝mysql須要單獨安裝一下。安裝完成後須要對數據庫進行初始化:數據庫

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

$ zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -pzabbix zabbix

配置zabbix

$ vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

$ systemctl start zabbix-server

配置httpd

$ vim  /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai   # 更改時區

啓動httpd後訪問:http://172.16.180.129/zabbix 進行可視化安裝。安裝完成後登錄:vim

  • 管理員帳號:Admin
  • 管理員密碼:zabbix

Client端

安裝zabbix-agent

$ ansible all -m shell -a "yum install -y zabbix-agent"

配置agent

Server=172.16.180.129  # 服務端ip
ServerActive=172.16.180.129  # 服務端ip
Hostname=system.hostname  # 顯示到監控中心的被監控主機的主機名,用於區分各個client

補充: zabbix獲取數據有兩種模式——主動模式/被動模式。Server表示被動模式,即由服務端定時向客戶端採集數據;ServerActive表示主動模式,即客戶端能夠主動上報數據到服務端。bash

啓動zabbix-agent

$ systemctl start zabbix-agent

監控配置

配置文檔服務器

建立主機組&&添加主機

  • 建立主機組:配置——主機組——建立主機組——設定組名稱——添加
  • 添加主機到主機組:配置——建立主機——主機名稱/顯示名稱(與agent配置中的Hostname保持一致)——選擇所屬主機組——agent代理程序接口(對於主機ip及port(默認10050端口))——添加

應用集

應用集即監控項分組,爲的是方便批量管理監控項。架構

監控項

監控項是從主機收集的數據信息。

配置主機後,你須要添加一些監控項以開始獲取實際數據。

觸發器

觸發器是「評估」由項目採集的數據並表示當前系統情況的邏輯表達式。

針對各個監控項配置的告警規則。

模板

模板是能夠方便地應用於多個主機的一組實體。

圖形

解決圖形中沒法展現中文字體的問題。

  • 檢查相關代碼:

    $ less /usr/share/zabbix/include/defines.inc.php 
    define('ZBX_FONTPATH',                          realpath('fonts')); // where to search for font (GD > 2.0.18)
    define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name

    即,字體相關文件爲/usr/share/zabbix/fonts/graphfont

  • 檢查對應文件信息:

    [root@host2 fonts]# ll
    lrwxrwxrwx 1 root root      33 3月   6 07:42 graphfont.ttf.bak -> /etc/alternatives/zabbix-web-font
    [root@host2 fonts]# ll /etc/alternatives/zabbix-web-font
    lrwxrwxrwx 1 root root 38 3月   6 07:42 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf
  • 查資料發現,DejaVuSans.ttf 字體不支持中文。

  • 處理辦法:替換zabbix字符集便可

    • 下載支持中文的字體類型至zabbix服務器:/usr/share/zabbix/fonts/FangZhengFangSongJianTi-1.ttf
    • 從新對 graphfont.ttf 作軟鏈接指向新的字體便可:ln -s FangZhengFangSongJianTi-1.ttf graphfont.ttf (作軟連前將原有graphfont.ttf文件更名備份)

自動發現

用於一些metrics的自動採集,如網卡信息。

自定義監控項目

監控處於TIME_WAIT狀態的鏈接數量:

  • 建立腳本 twait.sh :

    #!/bin/bash
    # 統計listen狀態的鏈接
    netstat -ant |grep -c 'TIME_WAIT'
  • 賦予腳本執行權限:chmod +x listen_num.sh

  • 編輯zabbix_agentd.conf文件:

    UnsafeUserParameters=1    # 容許向服務端傳遞全部參數
    UserParameter=my.time_wait.count[*],/root/scripts/twait.sh    # 自定義監控項的key爲my.time_wait.count;後面的[*]寫腳本的參數,若是沒有參數可省略;最後爲對應的腳本
  • 重啓zabbix-agent服務

  • 到server端檢驗:

    $ zabbix_get -s 172.16.180.129 -p 10050 -k 'my.time_wait.count'
    29
  • 配置中心——增長監控項

相關文章
相關標籤/搜索