zabbix 3.0.3 學習筆記

一.安裝zabbix及解決圖表方塊字

php

1.安裝zabbix(配置好相關yum源,解決包依賴問題,參考官方文檔)mysql

yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql mariadb-server -y
linux


2.更換PHP的時區web

vim /etc/php.inisql

data.timezone = "Asia/Shanghai"shell


3.配置mysql,解決編碼問題vim

vim /etc/my.cnfwindows

character-set-server=utf8

centos

mysql -uroot -p<password>bash

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';


cd /usr/share/doc/zabbix-server-mysql-3.0.3/

zcat create.sql.gz | mysql -uroot zabbix


vi /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix


4.其它配置

關閉sellinx

firewall-cmd --add-service=http

firewall-cmd --add-service=http --permanent


5.解決中文語言狀態預覽方塊字

/usr/share/zabbix/fonts (linux下zabbix字體存路徑 )到windows下載字體到此目錄字體的TTF後綴改成小寫

/usr/share/zabbix/include/defines.inc.php          #修改字體的配置文件

define('ZBX_GRAPH_FONT_NAME',           'SIMKAI'); // font file name


二.添加被監控主機

1.安裝客戶端

yum install zabbix-agent.x86_64

2.配置客戶端

/etc/zabbix/zabbix_agentd.conf

Server=192.168.178.134

ServerActive=192.168.178.134

Hostname=centos7 #和服務器主機名稱保持一致


3.服務器配置

配置--主機--建立主機

684e648527d6d49bec05279732ceb0a52861d6.p



三.定義監控項,自定義key

1.在主機上建立監控項

配置--主機--監控項--建立監控項

d867a1f35bd9a29b0ab71968ad5439e1287425.p

2.key的使用

proc.num[<name>,<user>,<state>,<cmdline>]

proc.num[,,,] # name,user,state爲默認值

proc.num  # 查看全部的里程,客戶端已經安裝了代理,代理會自動的監測系統中的不少信息

3.安裝zabbix-get獲取客戶端數據

yum install zabbix-get -y  # 須要配置好yum源

4.zabbix_get的使用

zabbix_get -s 被監測服務器地址 -k 監測的key

zabbix_get -s 192.168.178.132 -k proc.num[,,,]

zabbix_get -s 192.168.178.132 -k proc.num[,zabbix,] # 四個,號後面不使用的,,能夠不寫,前面的,號不能忽略

zabbix_get -s 192.168.178.132 -k proc.num[,,,pro] # pro爲第四個值(cmdline),匹配關鍵字含有pro的進程

cmdline-->寫上一個關鍵字,好比寫pro,那麼在ps aux裏面command部分裏面出現pro的進程都匹配

5.在服務器上建立主機圖表

配置---主機---建立圖形

f8ba7d0723c9a832cfd25400de031e3f55b9f1.j

--------------------------------------------------------------------------------------------------------------------------------------------------

測試多進程監控腳本

#!/bin/bash

while :

do

 echo 1 > /dev/null

done

--------------------------------------------------

#!/bin/bash

if [ $# -ne 1]; then

      echo '必須跟一個數字'

      exit 1

fi

echo "終止測試,請連續按ctrl+c"

trap 'killall -9 sh &> /dev/null ; rm -rf /tmp/aa*.sh' INT


for i in `seq 1 $1`

do 

 cp /root/aa.sh /tmp/aa${i}.sh 

  sh /tmp/aa${i}.sh &

done

--------------------------------------------------------------------------------------------------------------------------------------------------

6.自定義KEY

在客戶端進行設置

 /etc/zabbix/zabbix_agentd.conf 

Include=/etc/zabbix/zabbix_agentd.d/ # 在此目錄寫自定義腳本

語法: UserParameter=key的名稱,命令

例子:UserParameter=num-of,ps aux --no-header | wc -l

zabbix_get -s 192.168.178.132 -k num-of # 在服務器上執行觸發客戶端執行num-of的命令或腳本並將執行的結果回傳給服務器

語法:UserParameter=key的名稱[*],命令 $1

例子:UserParameter=pro[*],echo $1 

zabbix_get -s 192.168.178.132 -k pro[1]


配置--主機--監控項--建立監控項

自定義的鍵值在選擇按鈕列表是找不到鍵值的,須要手工錄入

199425496da7de36547196e181c0faa87c5135.j


四.觸發器的使用及報警

1.觸發器的建立,針對某一個監控項

配置--主機--建立觸發器

僅僅建立觸發還不夠,必須建立一個動做,當知足觸發器的條件的話,而後要執行什麼操做

774322c42289f6b7705051ee00690cfdba2dd1.p


2.動態的建立

配置---動做--事件來源[觸發器]--建立動做

建立了一個動做--->當觸發器觸發的時候,則把信息發送給指定的人

當centos7.1上進程超過100的時則觸發了這個條件,觸發了動做會產生一些信息而且將這些信息發送給指定的人。

64a7f5b417f06e6f576811582d16d0429385cb.p


3.用戶管理

管理--用戶

決定admin收到信息以後要執行的操做,決定使用什麼方式報警:

a.郵件

決定admin這個用戶以什麼郵件地址做爲發件人

b.腳本

f337aec5916eec17996737618984fcf608f3eb.j


4.媒介類型的建立與修改

管理--報警媒介類型--建立媒介類型

c2ba9d99815bad6835791716d64a78110d7eeb.j

5.微信警報 (企業公衆號)

配置一個觸發器同,當cpu超過80%的時候就開始微信報警

/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts # 將微信腳本放至此目錄

/usr/lib/zabbix/alertscripts/WeiXin-Private-API/config.php # 修改此文件

/usr/lib/zabbix/alertscripts/WeiXin-Private-API/test.php 

$testFakeId = "$argv[1]"; # 發送給指定的用戶

$msg="$argv[3]"; # 發送的信息內容

./weixin "owZmQwSvaFm1RmaYvmAdhoaemoDU" '' 'hello lincx' # 測試消息發送

15aa58b899cc159668f4072d07e158a464c59e.j


五.其它設置

1.應用集的定義

把相關的監控項定義一個應用集,對監控項進行分類

配置--主機--應用集--建立應用集


2.主機組定義

基於服務器進行分類,對類型相同的服務器進行分組


3.模板的建立(應用集、監控項、觸發器 、圖形、聚合圖形、自動發現、Web監測,元素的集合被主機引用)


4.聚合圖形的使用(基於圖形)


5.幻燈片的使用(每隔一時間內自動切換多個聚合圖形)


6.網絡拓撲圖

插入背景圖(管理--通常--圖片--建立圖片)用於拓撲區分地理位置


7.宏定義

{$變量名} # 通常使用大寫字母,全局性引用

全局性的設置

主機級別的變量

管理--通常--宏--添加--更新

監控項的名稱、鍵值的參數能夠引用自定義的宏xx[,{$AA},]

網絡拓撲圖不能引用這種變量,使用的是內置的變量例如{HOST,NAME}

zabbix有不少內置的宏(查詢相關資料)

配置--主機--建立主機--宏定義(只能用於該主機,其它主機不能使用該主機自定義的宏)

44411d557d4ffcf15856698589dda8ae8aee2c.j


七.自動化

1.網絡發現:zabbix服務器主動掃描環境中的主機,知足條件的話,自動的添加過來

使用第三方軟件

puppet

saltstack

配置--自動發現--建立自動發現

493782f10f5f9aa985c63518a0a4a44e4326f1.j

2.自動發現動做的建立

發現主機後在哪一個主機組裏進行添加主機、使用哪一個模板等的操做

f47425b0261dab5889a7652a72ea4bdb4a75dd.p

2.1.配置--動做--事件源[自動發現]--建立動做

132838f8429a9e5fdef74142bf06c231cd04cb.j

3.自動註冊:zabbix server不主動,而是客戶端主動去向zabbix server發送請求,要求註冊

服務器須要設置一個動做,指定哪些客戶端能加進來

配置--動做--事件源[自動註冊]--建立動做

/etc/zabbix/zabbix_agentd.conf

HostMetadata=xx # xx客戶端與服務端匹配的字符串

516a1bd1146e5d95111288c4e3171b4497cbbc.p

4.低級別發現(low-level discovery):

可讓其自動的發現客戶端要監測哪些東西

好比監測分區不一樣的機器的分區確定是不同的

vfs.fs.size[/boot,used]

vfs.fs.size[/,used]

不一樣機器不一樣分區須要逐個去設置比較繁瑣,可讓zabbix自動的去發現客戶端的分區狀況,而後根據實際狀況自動的定義監控項

zabbix_get -s 192.168.178.132 -k vfs.fs.discovery # 動態獲取被監控機器的分區類型

{#FSNAME}--->  掛載點

{#FSTYPE}--->  文件系統類型

低級別發現是基於模板的,在這個模板裏不須要定義具體的監控項,須要定義的是原型,監控項原型、圖表原型

當某個主機使用這個模板的時候,會把模板裏面的監控項原型轉變爲監控項、圖表原型轉變爲圖表


4.1.配置--模板--建立模板--自動發現--建立發現規則

經過vfs.fs.discovery能夠獲取客戶端全部的文件系統信息

24ec3b5300fdd9c4fc713281f6dbaf3deb5e50.j

4.2.配置--模板--自動發現--監控項原型--建立監控項原型

c1b15e2860b713480d2178ec6c0a004630ba0c.p

4.3.配置--模板--自動發現--圖形項原型--建立圖形原型

1679f6733868dd76b782534d102a671f891504.j


八.分佈式

1.安裝zabbix-proxy

配置好相關yum源

yum install zabbix-proxy zabbix-proxy-mysql mariadb-server -y

2.配置mysql,解決編碼問題

vim /etc/my.cnf

character-set-server=utf8


mysql -uroot -p<password>

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';


cd /usr/share/doc/zabbix-proxy-mysql-3.0.3/

shell> mysql -uzabbix -p<password> zabbix < p_w_picpaths.sql

shell> mysql -uzabbix -p<password> zabbix < data.sql


3.代理服務器配置文件相關修改

/etc/zabbix/zabbix_proxy.conf

Server=192.168.178.134 # zabbix服務器的IP

DBHost=localhost

DBPassword=zabbix

Hostname=Zabbix proxy

SourceIP=192.168.178.132 # 代理服務器本身的IP


重啓動服務

systemctl restart zabbix_proxy

4.代理的配置

管理---代理---建立代理

清除日誌

cat /dev/nul > /var/log/zabbix/zabbix_agentd.log

38095658978eac5a955974d43c2893c0c1abcd.j

相關文章
相關標籤/搜索