zabbix监控超详细搭建过程
監(jiān)控及zabbix
?
目錄:
1?????? 監(jiān)控分類... 1
1.1??????? 硬件監(jiān)控... 1
1.2??????? 系統(tǒng)監(jiān)控... 2
1.3??????? 網(wǎng)絡(luò)監(jiān)控... 3
1.4??????? 應(yīng)用(業(yè)務(wù))監(jiān)控... 3
2?????? 安裝zabbix. 3
2.1??????? 安裝zabbix服務(wù)端... 3
2.2??????? 安裝zibbix客戶端... 9
2.3??????? 添加zabbix主機(jī)組和主機(jī)... 9
2.4??????? 創(chuàng)建用戶和組... 11
2.5??????? 添加項(xiàng)目及觸發(fā)器... 13
2.6??????? 設(shè)置報(bào)警... 16
2.7??????? 自定義模板... 19
2.8??????? web監(jiān)控... 20
2.9??????? 分布式監(jiān)控、客戶端主動(dòng)模式... 21
2.9.1???????? 客戶端被動(dòng)模式... 21
2.9.2???????? 客戶端主動(dòng)模式... 21
2.9.3???????? zabbix分布式... 22
2.10????????? 自動(dòng)化監(jiān)控... 23
2.10.1?????? zabbix-agent自動(dòng)注冊(cè)(使用proxy)... 23
2.10.2?????? 主機(jī)探索(不使用proxy,被動(dòng)模式)... 24
2.10.3?????? 使用zabbix-api 25
2.11????? 更改中文字體防止亂碼... 28
?
1???????? 監(jiān)控分類
1.1??? 硬件監(jiān)控
1、機(jī)房巡檢。檢查服務(wù)器各種狀態(tài)。
2、通過(guò)遠(yuǎn)程控制卡監(jiān)控。ipmi是一種標(biāo)注。
ipmi獲取不到硬盤狀態(tài),比如硬盤壞了,硬盤可以用MegaCli工具。
ipmi簡(jiǎn)介:http://www.ibm.com/developerworks/cn/linux/l-ipmi/
yum?install?OpenIPMI?ipmitool?-y
[root@centos67?~]#?/etc/init.d/ipmi?start
1.2??? 系統(tǒng)監(jiān)控
1、了解監(jiān)控對(duì)象
2、知道性能的基準(zhǔn)線。
cpu監(jiān)控
cpu調(diào)度器
上下文切換
運(yùn)行隊(duì)列
cpu使用率
[root@c67-7 ~]# cat /proc/cpuinfo [root@c67-7 ~]# lscpu[root@c67-7 ~]# uptime #一般情況小于等于3就是正常[root@c67-7 ~]# rpm -qa |grep sysstatsysstat-9.0.4-27.el6.x86_64[root@c67-7 ~]# vmstat 1[root@c67-7 ~]# mpstat 1Linux 2.6.32-573.el6.x86_64 (c67-7) 2015年10月24日 _x86_64_ (1 CPU)11時(shí)24分37秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle11時(shí)24分38秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.0011時(shí)24分39秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00用戶態(tài)(程序運(yùn)行) 內(nèi)核態(tài)(系統(tǒng)調(diào)用,如vi打開(kāi)文件) 正常比例是70%:30%計(jì)算類的服務(wù)吃cpu,數(shù)據(jù)庫(kù)占IO
???
?????????????????????????????????????
內(nèi)存
[root@c67-7 ~]# free -mtotal used free shared buffers cachedMem: 992 580 411 0 46 441-/+ buffers/cache: 92 900Swap: 1023 0 1023buffer:寫入緩沖區(qū)cache:讀出緩存區(qū)硬盤
[root@c67-7 ~]# yum install iotop -yiotop網(wǎng)絡(luò)io
[root@c67-7 ~]# yum install iftop -yiftopnmon可以監(jiān)控以上所有東西。?
1.3??? 網(wǎng)絡(luò)監(jiān)控
第三方監(jiān)控寶等。
使用smokeping監(jiān)控網(wǎng)絡(luò)狀態(tài),如下圖:
?
1.4??? 應(yīng)用(業(yè)務(wù))監(jiān)控
使用pwiki監(jiān)控業(yè)務(wù)狀態(tài)
apache監(jiān)控:通過(guò)mod_status模塊
http://www.t086.com/code/apache2.2/mod/mod_status.html
nginx監(jiān)控:類似于apache
memcached監(jiān)控 使用nc獲取狀態(tài)
redis監(jiān)控
2?安裝zabbix
2.1??? 安裝zabbix服務(wù)端
官方文檔參考
https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
1、安裝zabbix-release包
[root@linux-node1 ~]# mkdir -p /home/lxy/tools[root@linux-node1 ~]# cd /home/lxy/tools/[root@linux-node1 tools]# wget -q http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm[root@linux-node1 tools]# rpm -ivh zabbix-release-2.4-1.el6.noarch.rpmwarning: zabbix-release-2.4-1.el6.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEYPreparing... ########################################### [100%]1:zabbix-release ########################################### [100%][root@linux-node1 tools]# rpm -ql zabbix-release/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX/etc/yum.repos.d/zabbix.repo/usr/share/doc/zabbix-release-2.4/usr/share/doc/zabbix-release-2.4/GPL[root@linux-node1 tools]# ll /etc/yum.repos.d/zabbix.repo-rw-r--r-- 1 root root 401 9月 11 2014 /etc/yum.repos.d/zabbix.repo2.開(kāi)始安裝zabbix
1)保留yum安裝的rpm包[root@linux-node1 tools]# sed -i 's#keepcache=1#keepcache=0#g' /etc/yum.conf[root@linux-node1 tools]# grep keepcache /etc/yum.confkeepcache=02)開(kāi)始安裝zabbixyum -y install zabbix zabbix-server zabbix-server-mysql #<==ZABBIX SERVER相關(guān)yum -y install zabbix-web zabbix-web-mysql #<==Apache、Php Web界面環(huán)境yum -y install zabbix-agent #<== ZABBIX客戶端yum -y install mysql-server mysql #<==MySQL客戶端與服務(wù)端?
3、配置zabbix服務(wù)相關(guān)
1)配置mysql[root@linux-node1 tools]# \cp /usr/share/mysql/my-medium.cnf /etc/my.cnf[root@linux-node1 tools]# vim /etc/my.cnf在[mysqld](第26行)標(biāo)簽下增加如下三行后保存[mysqld]character-set-server = utf8 init-connect = 'SET NAMES utf8' collation-server = utf8_general_ci[root@linux-node1 tools]# /etc/init.d/mysqld start2)初始化數(shù)據(jù)庫(kù)環(huán)境創(chuàng)建數(shù)據(jù)庫(kù)mysql> create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.00 sec)授權(quán)數(shù)據(jù)庫(kù)mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;導(dǎo)入表結(jié)構(gòu)[root@linux-node1 tools]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/[root@linux-node1 create]# mysql -u root -p zabbix < schema.sql[root@linux-node1 create]# mysql -u root -p zabbix < images.sql[root@linux-node1 create]# mysql -u root -p zabbix < data.sql[root@linux-node1 create]# mysqladmin -uroot password 1234563)設(shè)置apache時(shí)區(qū)sed -i 's#\# php_value date.timezone Europe/Riga#php_value date.timezone Asia/Shanghai#g' /etc/httpd/conf.d/zabbix.confgrep Shanghai /etc/httpd/conf.d/zabbix.confphp_value date.timezone Asia/Shanghai4)更改zabbix server配置[root@linux-node1 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak[root@linux-node1 ~]# sed -i 's@# DBPassword=@DBPassword=zabbix@g' /etc/zabbix/zabbix_server.conf[root@linux-node1 ~]# sed -i 's@# DBHost=localhost@DBHost=localhost@g' /etc/zabbix/zabbix_server.conf-------------------------------------------------vim /etc/zabbix/zabbix_server.confLogFile=/var/log/zabbix/zabbix_server.logDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbix5)啟動(dòng)相關(guān)服務(wù)[root@linux-node1 ~]# /etc/init.d/zabbix-server startStarting Zabbix server: [確定][root@linux-node1 ~]# /etc/init.d/httpd start正在啟動(dòng) httpd: [確定][root@linux-node1 ~]# lsof -i:10051|wc -l55[root@linux-node1 ~]# lsof -i:80|wc -l 1?
0
4、web界面安裝
?
?
?
上面的圖形操作就是創(chuàng)建了一個(gè)配置文件,然后如果寫錯(cuò)就可以去配置文件改
登錄Admin/zabbix
進(jìn)入后改密碼
?
?
2.2??? 安裝zibbix客戶端
服務(wù)端也安裝
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
81 Server= 10.0.0.7 (服務(wù)端ip)
?
grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf???
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server= 10.0.0.7? (服務(wù)端ip)
ServerActive=127.0.0.1? (服務(wù)端ip)
Hostname=Zabbix server
?
/etc/init.d/zabbix-agentd start
2.3??? 添加zabbix主機(jī)組和主機(jī)
添加組
?
?
添加主機(jī)
?
?
2.4??? 創(chuàng)建用戶和組
zabbix報(bào)警是針對(duì)用戶和用戶組的。
創(chuàng)建用戶(不要急著存檔)
?
?
報(bào)警媒介先不填,因?yàn)槟J(rèn)的媒介不好用,需要手動(dòng)添加,一會(huì)添加。
?
?
添加完,可以使用新用戶登錄
2.5??? 添加項(xiàng)目及觸發(fā)器
1、客戶端添加一個(gè)檢查用戶的key,格式為key,命令
grep UserParameter /etc/zabbix/zabbix_agentd.conf
UserParameter=login-user,uptime | awk -F ' ' '{print $4}'
/etc/init.d/zabbix-agent restart
2、主機(jī)通過(guò)zabbix-get檢查
?yum install zabbix-get -y
zabbix-get? -s 客戶主機(jī)? -k? 命令
[root@linux-node1 ~]# zabbix_get -s 10.0.0.8 -k login-user
login-user? 獲取登錄用戶的列表
3、web界面添加
主機(jī)界面選定主機(jī),然后點(diǎn)擊項(xiàng)目,點(diǎn)創(chuàng)建項(xiàng)目
?
?
4、添加觸發(fā)器
?
?
此處點(diǎn)添加,然后選擇主機(jī)
?
?
?
5、創(chuàng)建圖形
?
2.6??? 設(shè)置報(bào)警
1、設(shè)置動(dòng)作
?
?
?
自定義報(bào)警類型
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf
435 AlertScriptsPath=/usr/lib/zabbix/alertscripts?? ##<<設(shè)置自定義腳本的路徑
[root@linux-node1 alertscripts]# /etc/init.d/zabbix-server restart
之后寫相應(yīng)腳本
腳本要支持三個(gè)參數(shù)
$1:用戶的介質(zhì),如郵箱,手機(jī)號(hào)等
$2:標(biāo)題
$3:內(nèi)容
[root@linux-node1 alertscripts]# cat login.sh????????
#!/bin/bash
MAIL_TITEL=$2
MAIL_CON=$3
echo "$MAIL_CON"|/bin/mail -s "$MAIL_TITEL" $1
echo "$1 $2 $3">>/tmp/login_zabbix.txt
添加媒介類型
在動(dòng)作中設(shè)置
?
為用戶配置示警媒介
?
2.7??? 自定義模板
創(chuàng)建模板----模板中創(chuàng)建應(yīng)用集----創(chuàng)建監(jiān)控項(xiàng)-創(chuàng)建觸發(fā)器-畫圖等都搞進(jìn)模板。
最后主機(jī)添加模板
注意點(diǎn),使用老師的模板腳本,另外添加多個(gè)類似模板點(diǎn)克隆再改
[root@lb-node2 zabbix]# cat zabbix_agentd.conf.d/zabbix-linux-plugin.conf UserParameter=linux_status[*],/etc/zabbix/zabbix_linux_plugin.sh "$1" "$2" "$3" #寫在/etc/zabbix/zabbix_agentd.conf中?
?
2.8??? web監(jiān)控
web監(jiān)控是針對(duì)主機(jī)的,別忘了觸發(fā)器
?
?
?
?
2.9??? 分布式監(jiān)控、客戶端主動(dòng)模式
2.9.1??????????? 客戶端被動(dòng)模式
grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf???
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=3
Server= 10.0.0.7
ServerActive=127.0.0.1
Hostname=Zabbix server
2.9.2??????????? 客戶端主動(dòng)模式
[root@linux-node2 ~]# grep? '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.0.7
Hostname=linux-node2.example.com
Include=/etc/zabbix/zabbix_agentd.d/
[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart
服務(wù)端克隆模板,把模板里項(xiàng)目全選,批量更新,項(xiàng)目類型改為主動(dòng)方式
?
然后主機(jī)添加項(xiàng)目即可。
#克隆linux OS模板,注意更改連接,連接也是克隆的。
?
2.9.3??????????? zabbix分布式
使用內(nèi)網(wǎng)yum源
echo '192.168.0.200 mirrors.aliyun.com repo.zabbix.com' >>/etc/hosts
客戶端安裝zabbix-proxy
[root@linux-node2 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mysql-server
配置分布式
[root@linux-node2 ~]# rpm -ql zabbix-agent
/etc/init.d/zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/sbin/zabbix_agent
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-2.4.6
/usr/share/doc/zabbix-agent-2.4.6/userparameter_examples.conf
/usr/share/doc/zabbix-agent-2.4.6/zabbix_agent.conf
/usr/share/man/man8/zabbix_agentd.8.gz
[root@linux-node2 ~]# rpm -ql zabbix-proxy-mysql
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-2.4.6
/usr/share/doc/zabbix-proxy-mysql-2.4.6/create
/usr/share/doc/zabbix-proxy-mysql-2.4.6/create/schema.sql
數(shù)據(jù)庫(kù)配置
[root@linux-node2 ~]# /etc/init.d/mysql start
mysql> create database zabbix_proxy character set utf8;
Query OK, 1 row affected (0.00 sec)
?
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
?
mysql> use zabbix_proxy
Database changed
mysql> source /usr/share/doc/zabbix-proxy-mysql-2.4.6/create/schema.sql;
Query OK, 0 rows affected (0.02 sec)
配置文件配置
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0?? #0主動(dòng),1被動(dòng)
Server=10.0.0.7? ?#主動(dòng)模式設(shè)置
Hostname=proxy-node1? #必須改
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
ExternalScripts=/usr/lib/zabbix/externalscripts
[root@linux-node2 ~]# /etc/init.d/zabbix-proxy start
Starting Zabbix proxy:???????????????????????????????????? [確定]
[root@linux-node2 ~]# lsof -i:10051
配置界面,管理-分布式(代理)-創(chuàng)建代理-
之后添加主機(jī)(選上代理即可),要監(jiān)控的機(jī)器agent配置文件ip改成代理的ip
服務(wù)多重啟幾次,先stop再start
?
2.10????????????? 自動(dòng)化監(jiān)控
2.10.1??????? zabbix-agent自動(dòng)注冊(cè)(使用proxy)
HostMetadataItem=system.uname
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.0.8? #這里用了代理的ip
Hostname=linux-node2.example.com
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/
配置-動(dòng)作-事件源選擇自動(dòng)注冊(cè)-創(chuàng)建動(dòng)作
?
?
2.10.2??????? 主機(jī)探索(不使用proxy,被動(dòng)模式)
?
組態(tài)-探索--使用默認(rèn)的就行,如下,
?
之后創(chuàng)建動(dòng)作,事件源選探索,上面那個(gè)是自動(dòng)注冊(cè)
然后剩下同上了
?
2.10.3??????? 使用zabbix-api
https://www.zabbix.com/documentation/2.4/manual/api/reference
[root@linux-node1 ~]# /usr/share/zabbix/api_jsonrpc.php
獲取驗(yàn)證
[root@linux-node1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '
{
??? "jsonrpc": "2.0",
??? "method": "user.login",
??? "params": {
??????? "user": "Admin",
??????? "password": "123456"
??? },
??? "id": 1
}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool
---------上面為輸入--下面為輸出-----
{
??? "id": 1,
??? "jsonrpc": "2.0",
??? "result": "6981d2f7663ac35b553ce7e4477f7f29"
}
-------
請(qǐng)求api,獲取監(jiān)控主機(jī),帶上SessionID
[root@linux-node1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '
{
??? "jsonrpc": "2.0",
??? "method": "host.get",
??? "params": {
??????? "output": ["hostid"]
??? },
??? "auth": "6981d2f7663ac35b553ce7e4477f7f29",
??? "id": 2
}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool
------上面為輸入,下面為輸出----------
{
??? "id": 2,
??? "jsonrpc": "2.0",
??? "result": [
??????? {
??????????? "hostid": "10084"
??????? },
??????? {
??????????? "hostid": "10115"
??????? }
??? ]
}
?
剩下看官網(wǎng)吧,官網(wǎng)提供各種方法。
https://www.zabbix.com/documentation/2.4/manual/api/reference/host/get
?
例子:創(chuàng)建主機(jī),執(zhí)行下面直接添加。
curl -s -X POST -H 'Content-Type:application/json' -d '
{
??? "jsonrpc": "2.0",
??? "method": "host.create",
??? "params": {
??????? "host": "Linux server",
??????? "interfaces": [
??????????? {
??????????????? "type": 1,
??????????????? "main": 1,
??????????????? "useip": 1,
??????????????? "ip": "10.0.0.8",
??????????????? "dns": "",
??????????????? "port": "10050"
??????????? }
??????? ],
??????? "groups": [
??????????? {
??????????????? "groupid": "2"
??????????? }
??????? ],
??????? "templates": [
??????????? {
??????????????? "templateid": "10001"
??????????? }
??????? ],
??? },
??? "auth": "9d670026e562405100a1a073231e7658",
??? "id": 1
}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool
?
2.11????????????? 更改中文字體防止亂碼
講自己電腦的字體微軟雅黑上傳到linix上
[root@lvs1 fonts]# pwd?? ##2.2版本
/var/www/html/fonts
[root@lvs1 fonts]# mv DejaVuSans.ttf DejaVuSans1.ttf
[root@lvs1 fonts]# mv? msyh.ttf DejaVuSans.ttf
[root@lvs1 fonts]# ll
總用量 21988
-rw-r--r-- 1 apache apache?? 741536 4月? 22 15:56 DejaVuSans1.ttf
-rw-r--r-- 1 root?? root?? 21767952 6月? 11 2009 DejaVuSans.ttf
[root@lvs1 fonts]# chown apache.apache DejaVuSans.ttf
或者直接更改系統(tǒng)的
/usr/share/fonts/dejavu/DejaVuSans.ttf
另外不同版本zabbix字體位置不一樣,名字也不一樣,下面是本文檔的版本
[root@linux-node1 dejavu]# find / -type d -name "fonts"
/var/www/html/fonts
/etc/fonts
/usr/share/zabbix/fonts
/usr/share/fonts
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
分類:?linux轉(zhuǎn)載于:https://www.cnblogs.com/ExMan/p/11002604.html
總結(jié)
以上是生活随笔為你收集整理的zabbix监控超详细搭建过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何比较js 浮点数
- 下一篇: php+ tinymce粘贴word