標籤:identified shanghai create database character
一.安裝zabbix及解決圖表方塊字
1.安裝zabbix(配置好相關yum源,解決包依賴問題,參考官方文檔)
yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql mariadb-server -y
2.更換PHP的時區
vim /etc/php.ini
data.timezone = "Asia/Shanghai"
3.配置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 [email protected] 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.伺服器配置
配置--主機--建立主機
650) this.width=650;" src="http://s1.51cto.com/images/201607/684e648527d6d49bec05279732ceb0a52861d6.png" width="1200" height="1035" alt="684e648527d6d49bec05279732ceb0a52861d6.p" />
三.定義監控項,自訂key
1.在主機上建立監控項
配置--主機--監控項--建立監控項
650) this.width=650;" src="http://s1.51cto.com/images/201607/d867a1f35bd9a29b0ab71968ad5439e1287425.png" width="752" height="966" alt="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.在伺服器上建立主機圖表
配置---主機---建立圖形
650) this.width=650;" src="http://s1.51cto.com/images/201607/f8ba7d0723c9a832cfd25400de031e3f55b9f1.jpg" width="1091" height="613" alt="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]
配置--主機--監控項--建立監控項
自訂的索引值在選擇按鈕列表是找不到索引值的,需要手工錄入
650) this.width=650;" src="http://s1.51cto.com/images/201607/199425496da7de36547196e181c0faa87c5135.jpg" width="715" height="806" alt="199425496da7de36547196e181c0faa87c5135.j" />
四.觸發器的使用及警示
1.觸發器的建立,針對某一個監控項
配置--主機--建立觸發器
僅僅建立觸發還不夠,必須建立一個動作,當滿足觸發器的條件的話,然後要執行什麼操作
650) this.width=650;" src="http://s1.51cto.com/images/201607/774322c42289f6b7705051ee00690cfdba2dd1.png" width="1200" height="703" alt="774322c42289f6b7705051ee00690cfdba2dd1.p" />
2.動態建立
配置---動作--事件來源[觸發器]--建立動作
建立了一個動作--->當觸發器觸發的時候,則把資訊發送給指定的人
當centos7.1上進程超過100的時則觸發了這個條件,觸發了動作會產生一些資訊並且將這些資訊發送給指定的人。
650) this.width=650;" src="http://s1.51cto.com/images/201607/64a7f5b417f06e6f576811582d16d0429385cb.png" width="965" height="482" alt="64a7f5b417f06e6f576811582d16d0429385cb.p" />
3.使用者管理
管理--使用者
決定admin收到資訊之後要執行的操作,決定使用什麼方式警示:
a.郵件
決定admin這個使用者以什麼郵件地址作為寄件者
b.指令碼
650) this.width=650;" src="http://s1.51cto.com/images/201607/f337aec5916eec17996737618984fcf608f3eb.jpg" width="1020" height="404" alt="f337aec5916eec17996737618984fcf608f3eb.j" />
4.媒介類型的建立與修改
管理--警示媒介類型--建立媒介類型
650) this.width=650;" src="http://s1.51cto.com/images/201607/c2ba9d99815bad6835791716d64a78110d7eeb.jpg" width="805" height="576" alt="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‘ # 測試訊息發送
650) this.width=650;" src="http://s1.51cto.com/images/201607/15aa58b899cc159668f4072d07e158a464c59e.jpg" width="998" height="795" alt="15aa58b899cc159668f4072d07e158a464c59e.j" />
五.其它設定
1.應用集的定義
把相關的監控項定義一個應用集,對監控項進行分類
配置--主機--應用集--建立應用集
2.主機群組定義
基於伺服器進行分類,對類型相同的伺服器進行分組
3.模板的建立(應用集、監控項、觸發器 、圖形、彙總圖形、自動探索、Web監測,元素的集合被主機引用)
4.彙總圖形的使用(基於圖形)
5.投影片的使用(每隔一時間內自動切換多個彙總圖形)
6.網路拓撲圖
插入背景圖(管理--一般--圖片--建立圖片)用於拓撲區分地理位置
7.宏定義
{$變數名} # 一般使用大寫字母,全域性引用
全域性的設定
主機分級的變數
管理--一般--宏--添加--更新
監控項的名稱、索引值的參數可以引用自訂的宏xx[,{$AA},]
網路拓撲圖不能引用這種變數,使用的是內建的變數例如{HOST,NAME}
zabbix有很多內建的宏(查詢相關資料)
配置--主機--建立主機--宏定義(只能用於該主機,其它主機不能使用該主機自訂的宏)
650) this.width=650;" src="http://s1.51cto.com/images/201607/44411d557d4ffcf15856698589dda8ae8aee2c.jpg" width="937" height="469" alt="44411d557d4ffcf15856698589dda8ae8aee2c.j" />
七.自動化
1.網路發現:zabbix伺服器主動掃描環境中的主機,滿足條件的話,自動的添加過來
使用第三方軟體
puppet
saltstack
配置--自動探索--建立自動探索
650) this.width=650;" src="http://s1.51cto.com/images/201607/493782f10f5f9aa985c63518a0a4a44e4326f1.jpg" width="698" height="648" alt="493782f10f5f9aa985c63518a0a4a44e4326f1.j" />
2.自動探索動作的建立
發現主機後在哪個主機群組裡進行添加主機、使用哪個模板等的操作
650) this.width=650;" src="http://s1.51cto.com/images/201607/f47425b0261dab5889a7652a72ea4bdb4a75dd.png" width="1200" height="853" alt="f47425b0261dab5889a7652a72ea4bdb4a75dd.p" />
2.1.配置--動作--事件來源[自動探索]--建立動作
650) this.width=650;" src="http://s1.51cto.com/images/201607/132838f8429a9e5fdef74142bf06c231cd04cb.jpg" width="1184" height="880" alt="132838f8429a9e5fdef74142bf06c231cd04cb.j" />
3.自動註冊:zabbix server不主動,而是用戶端主動去向zabbix server發送請求,要求註冊
伺服器需要設定一個動作,指定哪些用戶端能加進來
配置--動作--事件來源[自動註冊]--建立動作
/etc/zabbix/zabbix_agentd.conf
HostMetadata=xx # xx用戶端與服務端匹配的字串
650) this.width=650;" src="http://s1.51cto.com/images/201607/516a1bd1146e5d95111288c4e3171b4497cbbc.png" width="1200" height="832" alt="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可以擷取用戶端所有的檔案系統資訊
650) this.width=650;" src="http://s1.51cto.com/images/201607/24ec3b5300fdd9c4fc713281f6dbaf3deb5e50.jpg" width="1200" height="633" alt="24ec3b5300fdd9c4fc713281f6dbaf3deb5e50.j" />
4.2.配置--模板--自動探索--監控項原型--建立監控項原型
650) this.width=650;" src="http://s1.51cto.com/images/201607/c1b15e2860b713480d2178ec6c0a004630ba0c.png" width="952" height="958" alt="c1b15e2860b713480d2178ec6c0a004630ba0c.p" />
4.3.配置--模板--自動探索--圖形項原型--建立圖形原型
650) this.width=650;" src="http://s1.51cto.com/images/201607/1679f6733868dd76b782534d102a671f891504.jpg" width="1079" height="608" alt="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 [email protected] identified by ‘zabbix‘;
cd /usr/share/doc/zabbix-proxy-mysql-3.0.3/
shell> mysql -uzabbix -p<password> zabbix < images.sql
shell> mysql -uzabbix -p<password> zabbix < data.sql
3.Proxy 伺服器設定檔相關修改
/etc/zabbix/zabbix_proxy.conf
Server=192.168.178.134 # zabbix伺服器的IP
DBHost=localhost
DBPassword=zabbix
Hostname=Zabbix proxy
SourceIP=192.168.178.132 # Proxy 伺服器自己的IP
重啟動服務
systemctl restart zabbix_proxy
4.代理的配置
管理---代理---建立代理
清除日誌
cat /dev/nul > /var/log/zabbix/zabbix_agentd.log
650) this.width=650;" src="http://s1.51cto.com/images/201607/38095658978eac5a955974d43c2893c0c1abcd.jpg" width="900" height="518" alt="38095658978eac5a955974d43c2893c0c1abcd.j" />
本文出自 “忘記寒暑” 部落格,請務必保留此出處http://speedy.blog.51cto.com/389078/1826098
zabbix 3.0.3 學習筆記