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