搭建 zabbix 监控环境
- Zabbix 简介… 5
1.1. 介绍… 5
1.2. zabbix 的主要特点:…5
1.3. Zabbix 主要功能:…6 - CentOs7… 7
2.1. 虚拟机安装操作步骤… 7
2.2. 网卡配置… 8
1. 打开设置…8
2. 修改配置文件…8
3. 使用“ifconfig”命令…9
4. 设置时间…10 - 防火墙配置…11
3.1. 关闭 firewall:… 11
3.2. 安装 iptables 防火墙… 11
3.3. 关闭 SELINUX…12 - Apache…12
4.1. 安装… 12
4.2. Apache 配置(可选)…13 - Mysql(MariaDB)…13
5.1. 安装… 13
5.2. 为 root 账户设置密码… 13
5.3. 进入 MySQL 控制面板…14
5.4. 防火墙设置… 15
5.5. 大小写敏感… 15
5.6. 配置 MariaDB 的字符集…15
5.7. MariaDB 查看字符集…17 - PHP… 17
6.1. 安装… 17
6.2. 配置… 18
6.2.1. Apache 配置…18
6.2.2. Php 配置… 19
6.2.3. 日志读写(可选)… 20
6.3. 版本… 21
6.4. 测试安装成功… 21 - Zbbix… 22
7.1. 配置 mysql 数据库…23
7.2. 导入 zabbix 数据库…23
7.3. 安装步骤 zabbix…24
7.3.1. 添加用户…24
7.3.2. 安装 zabbix… 24
7.3.3. 查看端口…25
7.3.4. 创建服务…26
7.3.5. WEB 界面…26
7.3.6. WEB 界面配置…26
7.3.7. zabbix server.conf…27
7.3.8. 开启服务…28
7.3.9. 安装 WEB 程序…28
7.3.10. WEB 平台介绍…31
7.3.11. 转换中文字体…31
7.4. 常见问题… 32
7.4.1. Database error… 32
7.4.2. Mysql sock 錯誤…32
7.4.3. zabbix server is not running…32 - Zabbix_agent 安装… 33
8.1. Window 64…33
1. 配置…33
2. 安装…34
3. 检查…34
4. 防火墙(可选)…34
8.2. Linux…34
1. 安装…34
2. Zabbix agent.conf…35
3. 创建服务…35
8.3. 常见的问题… 36
8.3.1. Starting zabbix_agentd:… 36 - Tomat 监控…37
9.1. JDK 安装… 37
9.2. Tomcat 安装… 38
9.2.1. 防火墙配置…38
9.2.2. 测试运行…38
9.3. 修改配置… 39
9.3.1. Window 配置-catalina…39
9.3.2. Linux 配置-catalina… 39
9.3.3. Springboot 配置…40
9.3.4. server.xml 配置… 40 - 监控 JMX… 41
10.1. 安装 zabbix-java-gateway… 41
10.2. 配置… 42
10.3. 修改 zabbix server 配置…42
10.4. 启动脚本… 43
10.5. 重写脚本 (可选)…43
10.6. 导入模板 java…44
10.7. JVM 部分监控项解释…45 - Oracle 监控… 45
11.1. 安装部署 orabbix…45
11.2. 配置… 46
11.3. 启动… 47
11.4. 导入模版… 48 - Nginx 监控…48
12.1. Nginx 服务配置…48
12.2. 在 Agentd 上编写监控脚本… 49
12.3. 修改 nginx 服务器上的 zabbix 客户端文件…51
12.4. 测试 agent 端测试…51
12.5. Zabbix get 测试… 52
12.6. 导入模板… 52 - 常见问题…52
13.1. ZBX_TCP_READ() failed… 52
13.2. 测试服务器和客户机是否通信…56 - 常见命…56
Zabbix3 安装与配置
分布式系统监控 zabbix
搭建 zabbix 监控环境
abbix
郭莉编写
第 1 页 共 56 页
Zabbix3 安装与配置
目录 - Zabbix 简介… 5
1.1. 介绍… 5
1.2. zabbix 的主要特点:…5
1.3. Zabbix 主要功能:…6 - CentOs7… 7
2.1. 虚拟机安装操作步骤… 7
2.2. 网卡配置… 8
1. 打开设置…8
2. 修改配置文件…8
3. 使用“ifconfig”命令…9
4. 设置时间…10 - 防火墙配置…11
3.1. 关闭 firewall:… 11
3.2. 安装 iptables 防火墙… 11
3.3. 关闭 SELINUX…12 - Apache…12
4.1. 安装… 12
4.2. Apache 配置(可选)…13 - Mysql(MariaDB)…13
5.1. 安装… 13
5.2. 为 root 账户设置密码… 13
5.3. 进入 MySQL 控制面板…14
5.4. 防火墙设置… 15
5.5. 大小写敏感… 15
5.6. 配置 MariaDB 的字符集…15
5.7. MariaDB 查看字符集…17 - PHP… 17
6.1. 安装… 17
6.2. 配置… 18
6.2.1. Apache 配置…18
6.2.2. Php 配置… 19
6.2.3. 日志读写(可选)… 20
6.3. 版本… 21
6.4. 测试安装成功… 21 - Zbbix… 22
7.1. 配置 mysql 数据库…23
7.2. 导入 zabbix 数据库…23
7.3. 安装步骤 zabbix…24
7.3.1. 添加用户…24
7.3.2. 安装 zabbix… 24
7.3.3. 查看端口…25
7.3.4. 创建服务…26
7.3.5. WEB 界面…26
第 2 页 共 56 页
Zabbix3 安装与配置
7.3.6. WEB 界面配置…26
7.3.7. zabbix server.conf…27
7.3.8. 开启服务…28
7.3.9. 安装 WEB 程序…28
7.3.10. WEB 平台介绍…31
7.3.11. 转换中文字体…31
7.4. 常见问题… 32
7.4.1. Database error… 32
7.4.2. Mysql sock 錯誤…32
7.4.3. zabbix server is not running…32 - Zabbix_agent 安装… 33
8.1. Window 64…33
1. 配置…33
2. 安装…34
3. 检查…34
4. 防火墙(可选)…34
8.2. Linux…34
1. 安装…34
2. Zabbix agent.conf…35
3. 创建服务…35
8.3. 常见的问题… 36
8.3.1. Starting zabbix_agentd:… 36 - Tomat 监控…37
9.1. JDK 安装… 37
9.2. Tomcat 安装… 38
9.2.1. 防火墙配置…38
9.2.2. 测试运行…38
9.3. 修改配置… 39
9.3.1. Window 配置-catalina…39
9.3.2. Linux 配置-catalina… 39
9.3.3. Springboot 配置…40
9.3.4. server.xml 配置… 40 - 监控 JMX… 41
10.1. 安装 zabbix-java-gateway… 41
10.2. 配置… 42
10.3. 修改 zabbix server 配置…42
10.4. 启动脚本… 43
10.5. 重写脚本 (可选)…43
10.6. 导入模板 java…44
10.7. JVM 部分监控项解释…45 - Oracle 监控… 45
11.1. 安装部署 orabbix…45
11.2. 配置… 46
11.3. 启动… 47
第 3 页 共 56 页
Zabbix3 安装与配置
11.4. 导入模版… 48 - Nginx 监控…48
12.1. Nginx 服务配置…48
12.2. 在 Agentd 上编写监控脚本… 49
12.3. 修改 nginx 服务器上的 zabbix 客户端文件…51
12.4. 测试 agent 端测试…51
12.5. Zabbix get 测试… 52
12.6. 导入模板… 52 - 常见问题…52
13.1. ZBX_TCP_READ() failed… 52
13.2. 测试服务器和客户机是否通信…56 - 常见命…56
第 4 页 共 56 页
Zabbix3 安装与配置
第 5 页 共 56 页 - Zabbix 简介
1.1.介绍
Zabbix基于WEB界面的提供分布式系统监视以及网络监视功能
的企业级的开源解决方案。
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提
供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix 由 2 部分构成,zabbix server(服务端)与可选组件 zabbix
agent(客户端)。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对
硬件信息或与操作系统有关的内存,CPU 等信息的收集。zabbix
agent 可以运行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows
(2000/2003/XP/Vista)等系统之上。
zabbix server 可以单独监视远程服务器的服务状态;同时也可
以与 zabbix agent 配合,可以轮询 zabbix agent 主动接收监视数据
(agent方式),同时还可被动接收zabbix agent发送的数据(trapping
方式)。
1.2. zabbix 的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
Zabbix3 安装与配置 - 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及 WEB 集中管理功能
- 可以无 agent 监视
- 用户安全认证和柔软的授权方式
- 通过 WEB 界面设置或查看监视结果
- email 等通知功能等
1.3.Zabbix 主要功能: - CPU 负荷
- 内存使用
-磁盘使用 - 网络状况
- 端口监视
- 日志监视。
第 6 页 共 56 页
Zabbix3 安装与配置
- CentOs7
2.1.虚拟机安装操作步骤
执行 VMware-workstation-full-11.1.0-2496824.exe
安 装 成 功 后 出 现 , 点 击 “ 新 建 虚 拟 机 ” , 选 择 文 件
CentOS-7-x86_64-Minimal-1503-01.iso
CentOS-7-x86_64-Minimal-1503-01.iso
注:详细步骤 略
第 7 页 共 56 页
Zabbix3 安装与配置
2.2.网卡配置
1.打开设置
2.修改配置文件
Vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
IPADDR=192.168.1.227
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DEFROUTE=yes
第 8 页 共 56 页
Zabbix3 安装与配置
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=3a638c4a-6d63-45af-a6d7-12d3f7522602
DEVICE=eno16777736
ONBOOT=yes
DNS1=114.114.114.114
MACADDR=00:OC:29:19:01:41
配置完成后,ping 192.168.1.227 是否正常连通
3.使用“ifconfig”命令
安装成功后,测试 ifconfig 出现以下界面。
第 9 页 共 56 页
Zabbix3 安装与配置
第 10 页 共 56 页
4.设置时间
查看系统时间 #date
修改时间年月日:#date -s yyyy/mm/dd 比如:date -s 2016/07/07
修改时间时分秒:#date -s 9:03:22
修改时区:
#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
提示是否覆盖,输入 Y 回车, 修改完后执行 clock -w 注:强制将时间写入 coms!
很多人修改之后都是,没有写入 clock -w ,强制将时间写入 COMS! 导致重启之后又还原了
安装 ntpdate,yum install -y ntpdate
利用 ntpdate 同步标准时间:
Zabbix3 安装与配置 - 防火墙配置
CentOS 7.0 默认使用的是 firewall 作为防火墙,这里改为 iptables 防
火墙。
3.1.关闭 firewall:
systemctl stop firewalld.service #停止 firewall
systemctl disable firewalld.service #禁止 firewall 开机启动
3.2.安装 iptables 防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
第 11 页 共 56 页
Zabbix3 安装与配置
3.3.关闭 SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效 - Apache
4.1.安装
查看是否有 apache 包 rpm -qa|grep httpd
查看已安装的 yum list|grep httpd
yum install httpd #根据提示,输入 Y 安装即可成功安装
systemctl start httpd.service #启动 apache
systemctl enable httpd.service #设置 apache 开机启动
systemctl stop httpd.service #停止 apache
systemctl restart httpd.service #重启 apache
测试是否安装成功
查看 IP 地址:ifconfig
网页地址测试,http://ip:80/
第 12 页 共 56 页
Zabbix3 安装与配置
4.2.Apache 配置(可选) - Mysql(MariaDB)
CentOS 7.0 中,已经使用 MariaDB 替代了 MySQL 数据库
5.1.安装
yum install mariadb mariadb-server #询问是否要安装,输入 Y 即可
自动安装,直到安装完成
systemctl start mariadb.service #启动 MariaDB
systemctl enable mariadb.service #设置开机启动
systemctl stop mariadb.service #停止 MariaDB
systemctl restart mariadb.service #重启 MariaDB
5.2.为 root 账户设置密码
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:
如果/etc 目录下面默认有一个 my.cnf,直接覆盖即可)
mysql_secure_installation
第 13 页 共 56 页
Zabbix3 安装与配置
回车,根据提示输入 Y
输入 2 次密码,回车
根据提示一路输入 Y
最后出现:Thanks for using MySQL!(如图)
MySql 密码设置完成,重新启动 MySQL:
systemctl restart mariadb.service #重启 MariaDB
5.3.进入 MySQL 控制面板
mysql -u root -p
grant all on . to ‘zabbix’@‘localhost’ identified by ‘12345’;
第 14 页 共 56 页
Zabbix3 安装与配置
5.4.防火墙设置
必须放开 mysql 使用的 TCP 端口,通常都是 3306。
操作请见 第三章节防火墙配置
5.5.大小写敏感
在/etc/my.cnf 中的[mysqld]后添加添加 lower_case_table_names=0
其中 0:区分大小写,1:不区分大小写
重启 MYSQL 服务,这时已设置成功
Vi /etc/my.cnf
5.6.配置 MariaDB 的字符集
文件/etc/my.cnf
vi /etc/my.cnf
在[mysqld]标签下添加
init_connect=‘SET collation_connection = utf8_unicode_ci’ init_connect=‘SET NAMES utf8’ 第 15 页 共 56 页
Zabbix3 安装与配置
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
文件/etc/my.cnf.d/client.cnf
vi /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
文件/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
全部配置完成,重启 mariadb
systemctl restart mariadb
之后进入 MariaDB 查看字符集
第 16 页 共 56 页
Zabbix3 安装与配置
5.7.MariaDB 查看字符集 - PHP
6.1.安装
yum install php #根据提示输入 Y 直到安装完成
安装 PHP 组件,使 PHP 支持 MariaDB
yum install php-mysql
yum install php-gd libjpeg* yum install php-ldap
yum install php-odbc
yum install php-pear
yum install php-xmlrpc
yum install php-mbstring
第 17 页 共 56 页
Zabbix3 安装与配置
第 18 页 共 56 页
yum install php-bcmath
systemctl restart mariadb.service #重启 MariaDB
systemctl restart httpd.service #重启 apache
6.2.配置
6.2.1. Apache 配置
vi /etc/httpd/conf/httpd.conf #编辑文件
ServerSignature On #添加,在错误页中显示 Apache 的版本,Off
为不显示
Options Indexes FollowSymLinks # 修 改 为 : Options Includes
ExecCGI FollowSymLinks(允许服务器执行 CGI 及 SSI,禁止列出
目录)
#AddHandler cgi-script .cgi #修改为:AddHandler cgi-script .cgi .pl
(允许扩展名为.pl 的 CGI 脚本运行)
AllowOverride None #修改为:AllowOverride All (允
许.htaccess)
AddDefaultCharset UTF-8 #修改为:AddDefaultCharset GB2312
(添加 GB2312 为默认编码)
#Options Indexes FollowSymLinks #修改为 Options
FollowSymLinks(不在浏览器上显示树状目录结构)
Zabbix3 安装与配置
DirectoryIndex index.html #修改为:DirectoryIndex index.php
(设置默认首页文件,增加 index.php)
MaxKeepAliveRequests 500 #添加 MaxKeepAliveRequests 500
(增加同时连接数)
:wq! #保存退出
systemctl restart httpd.service #重启 apache
rm -f /etc/httpd/conf.d/welcome.conf /
var/www/error/noindex.html #删除默认测试页
6.2.2. Php 配置
vi /etc/php.ini #编辑
date.timezone = #把前面的分号去掉,改为 date.timezone = Asia/shanghai
第 19 页 共 56 页
Zabbix3 安装与配置
#列出 PHP 可以禁用的函数,如果某些程序需要用到这个函数,可以
删除,取消禁用。
expose_php = Off #禁止显示 php 版本的信息
short_open_tag = ON #支持 php 短标签
open_basedir = .:/tmp/ #设置表示允许访问当前目录(即 PHP 脚本
文件所在之目录)和/tmp/目录,可以防止 php 木马跨站,如果改了之后
安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直
接写上程序的目录/data/www.osyunwei.com/:/tmp/
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
根据需求配置大小
systemctl restart mariadb.service #重启 MariaDB
systemctl restart httpd.service #重启 apache
6.2.3. 日志读写(可选)
第 20 页 共 56 页
Zabbix3 安装与配置
6.3.版本
6.4.测试安装成功
d /var/www/html
vi index.php #输入下面内容
http://ip/
第 21 页 共 56 页
Zabbix3 安装与配置
7. Zbbix
下载 zabbix 包地址如下:
http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar. gz
将 zabbix-3.0.3.tar.gz 拷贝到服务器上。并解决
第 22 页 共 56 页
Zabbix3 安装与配置
7.1.配置 mysql 数据库
Show databases;
Use zabbix;
Show tables;
7.2.导入 zabbix 数据库
Use zabbix //进入该数据库
导入脚本文件到 zabbix 数据库,三个 sql 文件顺序不能调换。否则
会出错
Source /usr/local/src/zabbix-3.0.3/database/mysql/schema.sql
Source /usr/local/src/zabbix-3.0.3/database/mysql/images.sql
Source /usr/local/src/zabbix-3.0.3/database/mysql/data.sql
导入成功后退出 mysql 控制台 exit
第 23 页 共 56 页
Zabbix3 安装与配置
第 24 页 共 56 页
7.3.安装步骤 zabbix
7.3.1. 添加用户
7.3.2. 安装 zabbix 一、添加软连接
二、配置
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy
–with-mysql=/usr/bin/mysql_config
(因命令太长显示不全,请看上文字)
注:如果没有 mysql_config ,需要安装 yum install mysql-devel
Zabbix3 安装与配置
三、编译
四、系统软连接
7.3.3. 查看端口
查看是否有 TCP cat /etc/services |grep zabbix
第 25 页 共 56 页
Zabbix3 安装与配置
第 26 页 共 56 页
7.3.4. 创建服务
7.3.5. WEB 界面
7.3.6. WEB 界面配置
拷贝文件修改文件名:
cp /var/www/html/zabbix/conf/zabbix.conf.php.example
Zabbix3 安装与配置
/var/www/html/zabbix/conf/zabbix.conf.php
修改 zabbix.conf.php 文件内容如下:
7.3.7. zabbix server.conf
注:详细配置,提供了配置文件直接拷贝覆盖,修改 IP 和 password
文件路径:/usr/local/zabbix/etc/zabbix_server.conf
修改文件内容如下图:
cat /usr/local/zabbix/etc/zabbix_server.conf |grep -v ^#|grep -v ^$
第 27 页 共 56 页
Zabbix3 安装与配置
7.3.8. 开启服务
7.3.9. 安装 WEB 程序
http://192.168.84.128/zabbix/setup.php (http://IP/zabbix/)
第 28 页 共 56 页
Zabbix3 安装与配置
第 29 页 共 56 页
Zabbix3 安装与配置
第 30 页 共 56 页
Zabbix3 安装与配置
7.3.10. WEB 平台介绍
Url: http://IP/zabbix
账户:admin
密码:zabbix
7.3.11. 转换中文字体
解决:图表中的中文乱码
将文件DejaVuSans.ttf 上传到/var/www/html/zabbix/fonts 替换此文
件即可。
第 31 页 共 56 页
Zabbix3 安装与配置
7.4.常见问题
7.4.1. Database error
原因:
#getsebool -a | grep httpd
[neo@neo phpMyTest]$ getsebool -a | grep httpd
发现 httpd_can_network_connect --> off
解决方案:
#setsebool httpd_can_network_connect 1
7.4.2. Mysql sock 錯誤
日誌文件 cat /tmp zabbix_server.log
7.4.3. zabbix server is not running
正常安装完 zabbix 后,登录后 zabbix 监控报错 zabbix server is not
running: the information displayed may not be current,
第 32 页 共 56 页
Zabbix3 安装与配置
netstat -ntlp|grep -E ‘10051’ Zabbix server 没有启动,请查看 zabbix.conf.php 配置文件
8. Zabbix_agent 安装
8.1.Window 64
提供资料里《zabbix 客户端-window》里面的 zabbix 文件拷贝到 C
盘下。
1.配置
修改文件内容 zabbix_agentd.conf,以下内容值,
SourceIP=192.168.1.227 (zabbix 服务 IP 地址)
Server=192.168.1.227 (zabbix 服务 IP 地址)
ListenIP=192.168.1.18 (监测 IP 地址<本 IP>)
Hostname=WIN-S80N8B9NA2I (监测 IP 地址<本 hostname>)
第 33 页 共 56 页
Zabbix3 安装与配置
2.安装
c:\zabbix>zabbix_agentd.exe --install -c “c:\zabbix\zabbix_agentd. conf”
3.检查
4.防火墙(可选)
高级安全 windows 防火墙--入站规则--新建入站规则--端口
--TCP 特定本地端口 10050--下一步--下一步--名称
zabbix--完成
8.2.Linux
1.安装
cd /usr/local/src/zabbix-3.0.3/
./configure --prefix=/etc/zabbix_agent --enable-agent
make install
第 34 页 共 56 页
Zabbix3 安装与配置
2.Zabbix agent.conf
注:详细配置,提供了配置文件直接拷贝覆盖,修改 IP 和 password
cat /usr/local/zabbix/etc/zabbix_agentd.conf |grep -v ^#|grep -v ^$
说明: ServerActive 是指定 Agentd 收集的数据往哪里发送,Hostname 是必须要和 Server
端添加主机时的主机名一样,这样 Server 端接收到数据才能找到对应关系。
3.创建服务
cp /usr/local/src/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_agentd
/etc/rc.d/
init.d/zabbix_agentd
chmod +x /etc/rc.d/init.d/zabbix_agentd
第 35 页 共 56 页
Zabbix3 安装与配置
chkconfig zabbix_agentd on
/etc/rc.d/init.d/zabbix_agentd start
netstat -nltp|grep -E ‘1005’ 8.3.常见的问题
8.3.1. Starting zabbix_agentd:
zabbix_agentd [10452]: user zabbix-agent does not exist
zabbix_agentd [10452]: cannot run as root!
[FAILED]
解决方案:
cat /etc/passwd |grep zabbix-agent
修改 zabbix_agent.conf 文件,将 AllowRoot 改为 1
第 36 页 共 56 页
Zabbix3 安装与配置
9. Tomat 监控
9.1.JDK 安装
mkdir -p /usr/lib/jvm
cd /usr/lib/jvm
tar -zxvf /usr/local/jdk-8u91-linux-x64.gz
vi /etc/profile
在最后添加:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
source /etc/profile
java -version
第 37 页 共 56 页
Zabbix3 安装与配置
9.2.Tomcat 安装
将 apache-tomcat-8.0.36.tar.gz 将文件拷贝到 /usr/local
tar -zxvf apache-tomcat-8.0.36.tar.gz
rm -rf apache-tomcat-8.0.36.tar.gz
mv apache-tomcat-8.0.36 tomcat
cd /usr/local/tomcat/bin/
./startup.sh
9.2.1. 防火墙配置
修改文件 vi + /etc/sysconfig/iptables
添加代码:
重启防火墙:
Service iptables restart
9.2.2. 测试运行
http://ip:8080/
第 38 页 共 56 页
Zabbix3 安装与配置
9.3.修改配置
/tomcat/bin/catalina.sh
9.3.1. Window 配置-catalina
如果是 windows 版本,编辑 TOMCAT_HOME/bin/catalina.bat,在
开头加入下面几行:
set CATALINA_OPTS=%CATALINA_OPTS%
-Djava.rmi.server.hostname=JMX_HOST
set CATALINA_OPTS=%CATALINA_OPTS%
-Djavax.management.builder.initial=
set CATALINA_OPTS=%CATALINA_OPTS%
-Dcom.sun.management.jmxremote=true
set CATALINA_OPTS=%CATALINA_OPTS%
-Dcom.sun.management.jmxremote.port=JMX_PORT set
CATALINA_OPTS=%CATALINA_OPTS%
-Dcom.sun.management.jmxremote.ssl=false
set CATALINA_OPTS=%CATALINA_OPTS%
-Dcom.sun.management.jmxremote.authenticate=false
9.3.2. Linux 配置-catalina
如果是 linux 版本,编辑 TOMCAT_HOME/bin/catalina.sh,在开头加
入下面几行:
第 39 页 共 56 页
Zabbix3 安装与配置
第 40 页 共 56 页
CATALINA_OPTS=“-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssh=false
-Djava.rmi.server.hostname=192.168.1.226” 9.3.3. Springboot 配置
(springboot 在 run.sh 配置)可选
java -server -Xms1024m -Xmx2048m
-Djava.rmi.server.hostname=192.168.1.223
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
9.3.4. server.xml 配置
在/usr/local/tomcat/conf/server.xml 文件增加以下代码:
Zabbix3 安装与配置
第 41 页 共 56 页
cp catalina-jmx-remote.jar /usr/local/tomcat/lib
catalina-jmx-remote.jar 次包资源文件里。
10. 监控 JMX
监控 JMX 应用的程序,称为"Zabbix Java GateWay",非常方便使用
其来监控 JMX
10.1. 安装 zabbix-java-gateway
cd /usr/local/src/zabbix-3.0.3/
./configure --prefix=/usr/local/zabbix/etc/zabbix_java --enable-java
make && make install
mkdir /etc/zabbix
cp /usr/local/zabbix/etc/zabbix_java/sbin/zabbix_java/settings.sh
/etc/zabbix/zabbix_java_gatewat.conf
Zabbix3 安装与配置
第 42 页 共 56 页
10.2. 配置
配置文件: /etc/zabbix/zabbix_java_gateway.conf
支持的配置选项为:
名称 选项说明
LISTEN_IP 指定 bind 的地址,默认值为 0.0.0.0
LISTEN_PORT 指定 bind 的端口,默认值为 10052
PID_FILE 指定 PID 文件存放目录,默认为 /tmp/zabbix_java.pid
START_POLLERS 指定启动多少进程, 默认为 5
10.3. 修改 zabbix server 配置
cat /usr/local/zabbix-3.0.0/etc/zabbix_server.conf | grep Java |
Zabbix3 安装与配置
第 43 页 共 56 页
grep =
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
10.4. 启动脚本
cd /usr/local/zabbix/etc/zabbix_java/sbin/
10.5. 重写脚本 (可选)
将 zabbix_java_gateway 文 件 上 传 到
/etc/rc.d/init.d/zabbix_java_gateway 目录下
chmod +x /etc/init.d/zabbix_java_gateway
chkconfig zabbix_java_gateway on
service zabbix_java_gateway start
Zabbix3 安装与配置
10.6. 导入模板 java
资源文件提供 templates_tomcat.xml 导入到 server 服务
第 44 页 共 56 页
Zabbix3 安装与配置
10.7. JVM 部分监控项解释
11. Oracle 监控
11.1. 安装部署 orabbix
mkdir /usr/local/orabbix
第 45 页 共 56 页
Zabbix3 安装与配置
第 46 页 共 56 页
cd /usr/local/orabbix
unzip orabbix-1.2.3.zip (资源包里有直接上传服务上)如果 unzip 出
现 command not found 请 yum install unzip
chmod +x run.sh
cp init.d/orabbix /etc/init.d/
sed -i ‘s#/opt/orabbix#orabbix=/usr/local/orabbix#g’ /etc/init.d/orabbix
chmod +x /etc/init.d/orabbix
sed -i ‘s#java#/usr/lib/jvm/jdk1.8.0_91/bin/java#g’ /usr/local/orabbix/run.sh
11.2. 配置
cp /usr/local/orabbix/conf/config.props.sample
/usr/local/orabbix/conf/config.props
vi /usr/local/orabbix/conf/config.props
注:资源文件提供此文件,直接拷贝
Zabbix3 安装与配置
DB_QM (DB 名称,可随意定义,但要与下文保持一致,切记要
与监控的主机名称保持一致)
11.3. 启动
chkconfig --add orabbix
chkconfig --level 345 orabbix on
/usr/local/orabbix/run.sh
第 47 页 共 56 页
Zabbix3 安装与配置
第 48 页 共 56 页
11.4. 导入模版
Orabbix_export_full.xml 全部导入(图表 监控项 触发器)
Orabbix_export_graphs.xml 图表
Orabbix_export_items.xml 监控项
Orabbix_export_triggers.xml 触发器
选中 Orabbix_export_full.xml 直接导入,则可以直接在主机中链接到
模版就可以使用全部功能了(主机名称一定要与配置中的
DatabaseList=DB_QM 保持一致)!
12. Nginx 监控
12.1. Nginx 服务配置
在 nginx 的配置文件中,添加 status 配置。
在 service{}里面
location/nginx-status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.1.10; #(zabbix 服务器的 IP 地址,一般是内网地址)
deny all;
}
访问设置好的 nginx-status 链接,如:
Zabbix3 安装与配置
nginx Status 详细说明
Active connections:对后端发起的活动连接数;
server accepts :nginx 总共处理了 N 个连接;
handled:成功创建了 N 次握手;
requests:总共处理了 N 请求。
Reading:nginx 读取客户端的 header 数;
Writing: nginx 返回给客户端的 header 数;
Waiting: nginx 请求处理完成,正在等待下一请求指令的连接。
12.2. 在 Agentd 上编写监控脚本
mkdir /usr/local/zabbix/etc/scripts
cd /usr/local/zabbix/etc/scripts
vi nginx_status.sh (把以下代码复制到此脚本里或者直接将资源文
件 nginx_status.sh 上传)
#!/bin/bash
Script to fetch nginx statuses for tribily monitoring systems
Author: guoli
License: ve
Set Variables
HOST=192.168.1.14
PORT=80
LOG=/tmp/nginx-status.log
检测 nginx 进程是否存在
function active {
第 49 页 共 56 页
Zabbix3 安装与配置
/usr/bin/curl “http:// H O S T : HOST: HOST:PORT/nginx-status” 2>/dev/null| grep ‘Active’ | awk
'{print KaTeX parse error: Expected 'EOF', got '}' at position 3: NF}̲' } function re…HOST:$PORT/nginx-status" 2>/dev/null| grep ‘Reading’ | awk
'{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲'} function wri…HOST:$PORT/nginx-status" 2>/dev/null| grep ‘Writing’ | awk
'{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 4}̲'} function wai…HOST:$PORT/nginx-status" 2>/dev/null| grep ‘Waiting’ | awk
'{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 6}̲'} function acc…HOST:$PORT/nginx-status" 2>/dev/null| awk NR3 | awk '{print
KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' } function ha…HOST:$PORT/nginx-status" 2>/dev/null| awk NR3 | awk '{print
KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲' } function re…HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk ‘{print
$3}’ }
Run the requested function
$1
chmod 755 /usr/local/zabbix/etc/scripts/nginx_status.sh (修改权
限)
/usr/local/zabbix/etc/scripts/nginx_status.sh active 测试脚本
chown zabbix.zabbix nginx_status.sh
第 50 页 共 56 页
Zabbix3 安装与配置
ll
12.3. 修改 nginx 服务器上的 zabbix 客户端文件
在 zabbix_agentd.conf 加入
修改 zabbix agent 的配置文件
#nginx
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
12.4. 测试 agent 端测试
/usr/local/zabbix/sbin/zabbix_agentd -t nginx.requests
service zabbix_agentd restart
第 51 页 共 56 页
Zabbix3 安装与配置
12.5. Zabbix get 测试
.在 zabbix server 端进行 zabbix_get 测试,取到数据了,说明没问题。
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -p 10050 -k ‘nginx.connections.active’ /usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -p 10050 -k “nginx.connections.waiting”
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -p 10050 -k “nginx.connections.writing”
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -p 10050 -k “nginx.accepts”
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -p 10050 -k “nginx.requests” 12.6. 导入模板
zabbix 中 nginx status 的模板,把模板导入 zabbix 服务器。
注:资源文件提供 Template_nginx.xml
13. 常见问题
13.1. ZBX_TCP_READ() failed
get value from agent failed: ZBX_TCP_READ() failed;[104]
connection reset by pee
解决方案:
第一步、查看了一下 zabbix_server 进程启动了, agent 端的
zabbix_agentd 也已经启动了/
第二步:查看 zabbix_agentd.win.conf 端配置文件,serverIP 是否正
确
第三步:查看 sever 和 agent 防火墙,是否禁止链接 10050 端口
Telnt ip 10050
第 52 页 共 56 页
Zabbix3 安装与配置
- selinux 是否关闭。
查看 selinux 的状态
修改文件内容:
第 53 页 共 56 页
Zabbix3 安装与配置 - zabbix web 目录下面 $ZBX_SERVER 是否为 ip,如果是 localhost,
ping 下 localhost 是否能解析。 - 查看 php 的 fsockopen 模块是否启用
第 54 页 共 56 页
Zabbix3 安装与配置
Zabbix3 安装与配置
13.2. 测试服务器和客户机是否通信
在监控服务器上使用命令测试服务器与客户机主机是否正常通信,(客户机上需要放行 TCP
10050 端口)如:
zabbix_get -s 客户端 ip -p10050 -k “system.hostname” 14. 常见命
systemctl restart httpd.service #重启 apache
systemctl restart mariadb.service #重启 MariaDB
systemctl restart httpd.service #重启 apache
/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd start
ps -eaf|grep zabbix 查看启动后台进程
netstat -tnlp|grep -E ‘3306|1005’ 查看端口