第一章 zabbix服務端安裝
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix由zabbix server與可選組件zabbix agent兩部門組成。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。
zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。
1.關閉防火牆
[root@localhost ~]# service iptables stop
[root@localhost ~]# chkconfig iptables off
關閉selinux
[root@localhost ~]# vi /etc/sysconfig/selinux
SELINUX=disabled
2.配置本地yum
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# cp CentOS-* repo.bak/
[root@localhost yum.repos.d]# rm -rf CentOS-*
[root@localhost yum.repos.d]# vi aa.repo
[aa]
name=aa
baseurl=file:///mnt
gpgcheck=1
3.掛載
[root@localhost yum.repos.d]# mount /dev/dvd /mnt
[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-*
4.安裝rpm包
[root@localhost ~]# rpm -ivh php-bcmath-5.3.3-26.el6.x86_64.rpm php-mbstring-5.3.3-26.el6.x86_64.rpm --force --nodeps
5.安裝
[root@localhost ~]# yum -y install wget vim tree gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp net-snmp-devel curl-devel
6. 添加開機啓動
chkconfig httpd on
chkconfig mysqld on
7.添加用戶和組
[root@localhost ~]# groupadd -r zabbix
[root@localhost ~]# useradd -g zabbix -s /sbin/nologin zabbix
8.設置數據庫,啓動數據庫
[root@localhost ~]# service mysqld start
設置數據庫密碼
[root@localhost ~]#mysqladmin -u root password zabbix
登錄mysql ,創建zabbix用戶並授權
[root@localhost ~]#mysql -uroot -pzabbix
mysql> use mysql
mysql> insert into mysql.user(Host,User,Password) values("localhost","zabbix","zabbix");
mysql> flush privileges;
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@localhost identified by "zabbix";
mysql> flush privileges;
9.導入zabbix自帶的幾個sql腳本
[root@localhost ~]# tar zxvf zabbix-2.2.2.tar.gz
[root@localhost ~]# cd zabbix-2.2.2
[root@localhost zabbix-2.2.2]# cd database/mysql/
[root@localhost mysql]# ls
data.sql images.sql schema.sql
[root@localhost mysql]# mysql -uroot -pzabbix zabbix < schema.sql
[root@localhost mysql]# mysql -uroot -pzabbix zabbix < images.sql
[root@localhost mysql]# mysql -uroot -pzabbix zabbix < data.sql
10.安裝zabbbix
[root@localhost zabbix-2.2.2]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@localhost zabbix-2.2.2]# make && make install
11. 開啓服務端口
[root@localhost zabbix-2.2.2]# vi /etc/services
zabbix-agent 10050/tcp #zabbix agent
zabbix-agent 10050/udp #zabbix agent
zabbix-trapper 10051/tcp #zabbix trapper
zabbix-trapper 10051/udp #zabbix trapper
12.配置文件
[root@localhost zabbix-2.2.2]# cd /usr/local/zabbix/
[root@localhost zabbix]# mkdir -p /etc/zabbix/
[root@localhost zabbix]# cp -r etc/* /etc/zabbix/
[root@localhost etc]# vi /etc/zabbix/zabbix_server.conf
修改後內容如下:
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
[root@localhost etc]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.243 #監控服務器的IP地址
ServerActive=192.168.1.243
13. 配置啓動腳本
[root@localhost zabbix-2.2.2]# cp misc/init.d/tru64/* /etc/init.d/
[root@localhost zabbix-2.2.2]# chown -R zabbix:zabbix /usr/local/zabbix
[root@localhost zabbix-2.2.2]# vi /etc/init.d/zabbix_server
DAEMON="/usr/local/zabbix/sbin/zabbix_server"#########修改這行
[root@localhost zabbix-2.2.2]# vi /etc/init.d/zabbix_agentd
DAEMON="/usr/local/zabbix/sbin/zabbix_agentd"########修改這行
14.配置 UI
[root@localhost zabbix-2.2.2]# cd frontends/
[root@localhost frontends]# cp -rf php /var/www/html/
[root@localhost frontends]# cd /var/www/html/
[root@localhost html]# mv php zabbix
[root@localhost html]# chown -R zabbix:zabbix zabbix
15. 配置PHP
[root@localhost html]# vi /etc/php.ini
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
max_input_time = 300
server httpd restart
16.啓動zabbix,並設置開機啓動
[root@localhost mysql]# /etc/init.d/zabbix_server start
[root@localhost mysql]# /etc/init.d/zabbix_agentd start
開機自啓動
echo '/etc/init.d/zabbix_server start &' >>/etc/rc.local
echo '/etc/init.d/zabbix_agentd start &' >>/etc/rc.local
17.打開瀏覽器http://192.168.1.243/zabbix/
1.點擊next
2.檢查Php環境,全部是“ok”,next
3.數據庫、用戶名和密碼都是zabbix,然後點擊 "Test connection"查看是否是“ok”
4.默認下一步
5.覈對所有信息
6.下載zabbix.conf.php,並上傳
將下載的文件zabbix.conf.php, 拷貝到zabbix的目錄
/var/www/html/zabbix/conf/zabbix.conf.php然後點擊" Retry"就不會有Fail了。
上傳zabbix.conf.php文件
7.登錄默認用戶名admin密碼zabbix
進入點右上角“profile”,選chinese zh_cn
查看zabbix服務狀態,“是”說明zabbix啓動,“否”說明沒有啓動
Zabbix客戶端啓動
18.修改中文亂碼
上傳中文簡體字體simkai.ttf
[root@localhost include]# cd /var/www/html/zabbix/fonts/
[root@localhost fonts]# ls
DejaVuSans.ttf simkai.ttf
修改一下倆行
[root@localhost include]# vi /var/www/html/zabbix/include/defines.inc.php
define('ZBX_FONT_NAME', 'simkai');
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
第二章 郵件報警
1.卸載系統自帶的舊版mailx
[root@localhost ~]# yum remove mailx
2.安裝郵件發送工具mailx
[root@localhost ~]# tar jvxf mailx-12.4.tar.bz2
[root@localhost ~]# cd mailx-12.4
上傳到
mailx-12.4-openssl_1.0.0_build_fix-1.patch
[root@localhost mailx-12.4]# patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch
[root@localhost mailx-12.4]# make
[root@localhost mailx-12.4]# make install UCBINSTALL=/usr/bin/install
3.創建連接
[root@localhost mailx-12.4]#ln -s /usr/local/bin/mailx /bin/mail #創建mailx到mail的軟連接
[root@localhost mailx-12.4]#ln -s /etc/nail.rc /etc/mail.rc #創建mailx配置文件軟連接
4.查看安裝路勁
[root@localhost mailx-12.4]# whereis mailx
mailx: /usr/local/bin/mailx /usr/share/man/man1p/mailx.1p.gz
5.查看版本
[root@localhost mailx-12.4]# mailx -V
12.4 7/29/08
6.配置Zabbix服務端外部郵箱
[root@localhost mailx-12.4]# vi /etc/mail.rc
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=421613368
set smtp-auth=login
7.手動測試
[root@localhost mailx-12.4]# echo "zabbix test mail" |mail -s "zabbix" [email protected]
8.關閉postfix
[root@localhost mailx-12.4]# service postfix stop
第三章 wb頁面添加
1.添加linux主機(web頁面)
組態-主機-創建主機-主機-保存
組態-主機-創建主機-模板-保存
在模板中輸入linux,會自動彈出linux相關模板,選中linux系統模板,添加
查看linux主機添加,綠色表示成功
2.監控nginx和keepalived
1.監控nginx
配置nginx,需要先導入nginx模板
組態-模板-匯入,選中zbx_export_templates_nginx
組態-主機-創建主機-選中nginx模板-保存
2.監控keepalived
nginx+keepalived虛擬出來一個vip, 想通過zabbix監控該ip的狀態,當該ip掛掉的時候,立即報警!
在zabbix server 機器上添加一個item,如下圖:
創建item
Zabbix server-項目-創建-保存
創建觸發器
Zabbix server-觸發器-創建-嚴重-保存
3.添加業務url(web頁面)
zabbix可以一臺主機添加一個url,也可以一臺主機添加多個url
組態-主機-選中需要添加url的主機-web
創建場景-方案-保存
創建場景-步驟-保存
一臺主機添加一個url
一臺主機添加4個url
查看添加是否成功,組態-主機-web
查看圖形是否有數據,檢測中-web-web-url
添加觸發器
4.配置oracle(web界面)
配置oracle之前,需要導入oracle模板Orabbix_export_full
組態-模板-匯入,選中Orabbix_export_full
組態-主機-創建主機-主機-保存
組態-主機-創建主機-模板-保存
配置完查看oracle
5.監控windows
參照linux,模板選windows
6.郵件配置
1.管理-示警媒介類型-創建媒體類型
名稱:Sendmail
類型:腳本
腳本名稱:sendmail.sh
已啓用:勾選
存檔
2.設置Zabbix用戶報警郵箱地址
管理-用戶-Admin (Zabbix Administrator)-示警媒介-添加
類型:Sendmail
其他默認即可,也可
以根據需要設置
狀態:已啓用
存檔
3、設置Zabbix觸發報警的動作
組態-動作-創建動作
名稱:Action-Email
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復信息:打鉤
恢復主旨:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
恢復信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已啓用:打鉤
切換到操作選項
新的
操作類型:送出信息
送到用戶:添加
默認信息:打鉤
選擇用戶:Admin
選擇
僅送到:Sendmail
存檔
4、添加Zabbix服務端郵件發送腳本
cd /usr/local/zabbix/share/zabbix/alertscripts #進入腳本存放目錄
vi sendmail.sh #編輯,添加以下代碼
#!/bin/sh
echo "$3" | mail -s "$2" $1
:wq! #保存退出
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#設置腳本所有者爲zabbix用戶
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
修改配置文件
[root@localhost alertscripts]# vi /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
5、測試Zabbix報警
關閉Zabbix客戶端服務
service zabbix_agentd stop
查看[email protected]郵箱,會收到報警郵件
再開啓Zabbix客戶端服務
service zabbix_agentd start
檢測-動作-狀態,表示郵件發送成功
第四章 客戶端安裝
1.客戶端安裝
1.添加用戶和組
[root@localhost ~]# groupadd -r zabbix
[root@localhost ~]# useradd -g zabbix -s /sbin/nologin zabbix
2.安裝客戶端
[root@localhost ~]# tar xf zabbix-2.2.2.tar.gz
[root@localhost ~]# cd zabbix-2.2.2
[root@localhost zabbix-2.2.2]# ./configure --prefix=/usr/local/zabbix --enable-agent --sysconfdir=/etc/zabbix/
[root@localhost zabbix-2.2.2]# make && make install
3.配置啓動腳本
[root@localhost zabbix-2.2.2]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.2.2]# chmod +x /etc/init.d/zabbix_agentd
4 開啓服務端口
[root@localhost zabbix-2.2.2]# vi /etc/services
zabbix-agent 10050/tcp #zabbix agent
zabbix-agent 10050/udp #zabbix agent
5.配置文件
[root@localhost zabbix-2.2.2]# cd /usr/local/zabbix/
[root@localhost etc]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.243 #監控服務器的IP地址
ServerActive=192.168.1.243
6.修改啓動路勁
[root@localhost zabbix-2.2.2]# vi /etc/init.d/zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
7.啓動zabbix
[root@localhost mysql]# /etc/init.d/zabbix_agentd start
echo '/etc/init.d/zabbix_agentd start &' >>/etc/rc.local
2.監控nginx
配置文件加入
[root@localhost scripts]# vi /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=nginx.accepts,/usr/local/zabbix/scripts/nginx_status.sh accepts
UserParameter=nginx.handled,/usr/local/zabbix/scripts/nginx_status.sh handled
UserParameter=nginx.requests,/usr/local/zabbix/scripts/nginx_status.sh requests
UserParameter=nginx.connections.active,/usr/local/zabbix/scripts/nginx_status.sh active
UserParameter=nginx.connections.reading,/usr/local/zabbix/scripts/nginx_status.sh reading
UserParameter=nginx.connections.writing,/usr/local/zabbix/scripts/nginx_status.sh writing
UserParameter=nginx.connections.waiting,/usr/local/zabbix/scripts/nginx_status.sh waiting
UserParameter=nginx.ping,/usr/local/zabbix/scripts/nginx_status.sh ping
放置腳本路勁
[root@localhost ]# cd /usr/local/zabbix/scripts/nginx_status.sh
Nginx 狀態開啓
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.html index.htm;
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.1.244;
deny all;
}
3.監控oracle需要安裝orabbix插件(客戶端)
1.查看java環境
[root@localhost ~]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
2.orabbix安裝
[root@localhost ~]# mkdir /opt/orabbix/
[root@localhost ~]# cd /opt/orabbix/
[root@localhost orabbix]# unzip orabbix-1.2.3.zip
[root@localhost orabbix]# cp init.d/orabbix /etc/init.d/
[root@localhost orabbix]# chmod +x run.sh
[root@localhost orabbix]# chmod +x /etc/init.d/orabbix
[root@localhost orabbix]# mv conf/config.props.sample conf/config.props
3.修改配置文件
[root@localhost ~]#Vi /opt/orabbix/conf
ZabbixServerList=ZabbixServer1
ZabbixServer1.Address=192.168.1.243
ZabbixServer1.Port=10051
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=192.168.1.238
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
192.168.1.238.Url=jdbc:oracle:thin:@192.168.1.238:1521:orcl
192.168.1.238.User=ZABBIX
192.168.1.238.Password=zabbix
192.168.1.238.MaxActive=10
192.168.1.238.MaxWait=100
192.168.1.238.MaxIdle=1
192.168.1.238.QueryListFile=./conf/query.props
4.創建 oracle 監控賬戶
[oracle@localhost ~]$ sqlplus / as sysdba
查看實例
SQL> select instance_name from v$instance;
創建用戶
SQL> CREATE USER ZABBIX IDENTIFIED BY ZABBIX DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
賦予角色權限
SQL> GRANT CONNECT TO ZABBIX;
SQL> GRANT RESOURCE TO ZABBIX;
SQL> alter user zabbix default role all;
賦予系統權限
SQL> GRANT SELECT ANY TABLE TO ZABBIX;
SQL> GRANT CREATE SESSION TO ZABBIX;
SQL> GRANT SELECT ANY TABLE TO ZABBIX;
SQL> GRANT UNLIMITED TABLESPACE TO ZABBIX;
SQL> GRANT SELECT ANY DICTIONARY TO ZABBIX;
Oracle11g需要執行下面命令
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description =>'resolve acl', principal =>'ZABBIX', is_grant => true, privilege =>'resolve');
exec dbms_network_acl_admin.assign_acl(acl=> 'resolve.xml', host =>'*');
commit;
5.啓動orabbix和zabbix客戶端
[root@localhost conf]# /etc/init.d/ zabbix_agentd tart
[root@localhost conf]# /etc/init.d/orabbix start
以下是orabbix正確日誌,表示啓動成功
3.windows
在d盤創建文件夾zabbix,拷貝zabbix_agents_2.2.9.win到zabbix下
解壓到zabbix文件下
配置文件和linux一樣
安裝zabbix客戶端
d:\zabbix\bin\win32\zabbix_agentd.exe -c d:\zabbix\conf\zabbix_agentd.win.conf -i
啓動zabbix
d:\zabbix\bin\win32\zabbix_agentd.exe -c d:\zabbix\conf\zabbix_agentd.win.conf
-s