監控zabbix

 第一章  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

收件人:[email protected]

其他默認即可,也可

以根據需要設置

狀態:已啓用

存檔

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

查看[email protected]郵箱,會收到恢復郵件

 

檢測-動作-狀態,表示郵件發送成功

 

 

 

 

           

 

         第四章 客戶端安裝

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

 

  

 

 

 

 

 

 

 

 

 

 

              

 

 

 

發佈了35 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章