监控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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章