共计 23306 个字符,预计需要花费 59 分钟才能阅读完成。
一. 准备阶段:
1.> 关闭防火墙
/etc/init.d/iptables stop
2.> 关闭 selinux
vim /etc/selinux/config
SELINUX=disabled 或者 setenforce 0
二. 安装 zabbix 所需软件并配置.
1. 安装 PHP
Zabbix 3.0 对 PHP 的要求最低为 5.4,而 CentOS6 默认为 5.3.3,完全不满足要求,故需要利用第三方源,将 PHP 升级到 5.4 以上,注意,不支持 PHP7
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
vim /etc/php.ini
date.timezone = Asia/Shanghai
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1
2. 安装 MySQL
MySQL 建议使用 5.6 版本,CentOS6 默认为 5.1,不建议使用,性能偏低
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel
vim /etc/my.cnf
[mysqld]
innodb_file_per_table #独立表空间模式
service mysqld start
mysql_secure_installation #MySQL 安全配置向导
Enter current password for root (enter for none): <–初次运行直接回车
Set root password? [Y/n] <– 是否设置 root 用户密码,输入 y 并回车或直接回车
Remove anonymous users? [Y/n] <– 是否删除匿名用户, 生产环境建议删除,所以直接回车
Disallow root login remotely? [Y/n] <–是否禁止 root 远程登录, 根据自己的需求选择 Y / n 并回车, 建议禁止
Remove test database and access to it? [Y/n] <– 是否删除 test 数据库, 直接回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbix’;
mysql> flush privileges;
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+——————–+
3. 安装 Zabbix
yum install httpd libxml2-devel net-snmp-devel libcurl-devel
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
./configure –prefix=/usr/local/zabbix –sysconfdir=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql –with-libxml2
make &&make install
编译 zabbix 如果报下面错误,就做以下操作
报错信息:configure: error: Not found mysqlclient library
#find / -name libmysqlclient*
ln -s /usr/lib64/mysql/libmysqlclient.so.18.1.0 /usr/lib64/mysql/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 /usr/lib64/mysql/libmysqlclient_r.so
4. 配置 Zabbix
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost 数据库 ip 地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=10.10.100.147 #zabbix server ip 地址
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /soft/zabbix-3.0.3/misc/init.d/Fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
sed -i “s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g” /etc/init.d/zabbix_server
5. 配置 http WEB
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
DocumentRoot “/var/www/html”
ServerName 10.10.100.147
mkdir -p /var/www/html/zabbix
cp -r /soft/zabbix-3.0.3/frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
6. 启动服务
chkconfig zabbix_server on
/etc/init.d/zabbix_server start
service httpd restart
7. 用浏览器访问 http://10.10.100.147/zabbix/,并按照提示安装:
:
输入 mysql 密码,其他默认,继续
输入 zabbix server 信息,默认即可,继续
安装信息汇总,没问题就继续
提示安装成功了,点击完成进入登陆界面
终于看到 Zabbix 3.0 的新版登陆界面了,默认用户名 / 密码:Admin/zabbix,注意用户名也区分大小写
至此 zabbix 的安装完成!可以查看 zabbix 服务端日志:tail -100f /tmp/zabbix_server.log
号外:
zabbix server is running value no 解决方法:
1. 关闭 selinux
2. 关闭防火墙
3. 登录 mysql 数据库,查看是否可以登录.
4. 打开 vim /var/www/html/zabbix/conf/zabbix.conf.php 将 server 改成 ip 地址
$DB[‘SERVER’] = ‘10.10.100.147’; #ip 为 zabbix server 端地址.
$ZBX_SERVER = ‘10.10.100.147’;
zabbix 自动化安装脚本:
#!/bin/bash
echo -n “stop SELinux…”
setenforce 0 > /dev/null 2>&1
sed -i ‘/^SELINUX=/s/=.*/=disabled/’ /etc/selinux/config && echo “OK”
echo -n “stop iptables fire ……”
/etc/init.d/iptables stop
echo -n “upgrate php version, 默认为 5.3.3 的版本 …”
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y
sed -i “s@;date.timezone =@date.timezone = Asia/Shanghai@g” /etc/php.ini
sed -i “s@post_max_size = 8M@post_max_size = 32M@” /etc/php.ini
sed -i “s@max_execution_time = 30@max_execution_time = 300@” /etc/php.ini
sed -i “s@max_input_time = 60@max_input_time = 300@” /etc/php.ini
sed -i “s@;always_populate_raw_post_data = -1@always_populate_raw_post_data = -1@” /etc/php.ini
echo -n “ 升级 MYSQL 的版本, 默认为 5.1 的版本 ”
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel -y
echo -n “ 正在启动 mysqld 服务……”
service mysqld start > /dev/null 2>&1 && echo “OK”
echo -n “ 正在为 mysql 的 root 用户设置密码……”
mysqladmin -uroot password “123456” && echo “OK”
echo “ 正在执行 mysql 语句……”
mysql -uroot -p123456 -e “CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;” && echo “sucess.”
mysql -uroot -p123456 -e “GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbix’;” && echo “sucess.”
mysql -uroot -p123456 -e “flush privileges;”
echo “ 安装 Zabbix”
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
yum install httpd libxml2-devel net-snmp-devel libcurl-devel -y
echo -n “ 正在下载 zabbix 源码包……”
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
echo -n “ 正在解压……”
tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
./configure –prefix=/usr/local/zabbix –sysconfdir=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql –with-libxml2
make &&make install
zabbix 自动化安装脚本
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-05/144150p2.htm
1、基础环境准备
安装 zabbix 的 yum 源,这里有必要提一点,阿里的 yum 源已经提供了 zabbix3.0
1.1、yum 源配置
rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
1.2、zabbix_agent 安装配置
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
Server=server 端 ip 地址 #用于被动模式,数据获取
ServerActive=server 端 ip 地址 #用于主动模式,数据提交
/etc/init.d/zabbix-agent start #启动 zabbix agent
这里的主动模式还有被动模式的出发点都是 agent 端,所以 agent 主动向 server 端发送数据就成为主动模式,而等待 server 端主动获取数据则称为被动模式。
agent 端安装比较简单. 至此已经安装完毕,下来就是在 server 端添加 agent 端.
zabbix 客户端自动安装脚本
考虑脚本的通用性,设置的手工输入 zabbixserverIP 这个变量。
#!/bin/bash
#suto install zabbix_agentd
#author :swh
echo “Now this shell will install zabbix_agentd autoly:please wait”
yum install net-snmp-devel libxml2-devel libcurl-devel -y
echo “add zabbix group and user:”
groupadd zabbix
useradd -r zabbix -g zabbix -s /sbin/nologin
echo “download package -make and make install “
cd /usr/local/src
wget -c “http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz”
tar -xzvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
./configure –prefix=/usr/local/zabbix-3.0.3/ –enable-agent
make
make install
ret=$?
if [$? -eq 0]
then
read -p “please input zabbix_serverIP:” zabbix_serverIP
sed -i ‘s/Server=127.0.0.1/Server=’$zabbix_serverIP’/’ /usr/local/zabbix-3.0.3/etc/zabbix_agentd.conf
sed -i ‘s/ServerActive=127.0.0.1/ServerActive=’$zabbix_serverIP’/’ /usr/local/zabbix-3.0.3/etc/zabbix_agentd.conf
sed -i ‘s/Hostname=Zabbix server/Hostname=’$HOSTNAME’/’ /usr/local/zabbix-3.0.3/etc/zabbix_agentd.conf
echo “zabbix install success,you need set hostname: $HOSTNAME”
else
echo “install failed,please check”
fi
/usr/local/zabbix-3.0.3/sbin/zabbix_agentd
if [$? -eq 0]
then
echo “set zabbix_agentd start with system”
echo “/usr/local/zabbix-3.0.3/sbin/zabbix_agentd start” >> /etc/rc.d/rc.local
else
echo “start error,please check”
fi
一. 准备阶段:
1.> 关闭防火墙
/etc/init.d/iptables stop
2.> 关闭 selinux
vim /etc/selinux/config
SELINUX=disabled 或者 setenforce 0
二. 安装 zabbix 所需软件并配置.
1. 安装 PHP
Zabbix 3.0 对 PHP 的要求最低为 5.4,而 CentOS6 默认为 5.3.3,完全不满足要求,故需要利用第三方源,将 PHP 升级到 5.4 以上,注意,不支持 PHP7
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
vim /etc/php.ini
date.timezone = Asia/Shanghai
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1
2. 安装 MySQL
MySQL 建议使用 5.6 版本,CentOS6 默认为 5.1,不建议使用,性能偏低
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel
vim /etc/my.cnf
[mysqld]
innodb_file_per_table #独立表空间模式
service mysqld start
mysql_secure_installation #MySQL 安全配置向导
Enter current password for root (enter for none): <–初次运行直接回车
Set root password? [Y/n] <– 是否设置 root 用户密码,输入 y 并回车或直接回车
Remove anonymous users? [Y/n] <– 是否删除匿名用户, 生产环境建议删除,所以直接回车
Disallow root login remotely? [Y/n] <–是否禁止 root 远程登录, 根据自己的需求选择 Y / n 并回车, 建议禁止
Remove test database and access to it? [Y/n] <– 是否删除 test 数据库, 直接回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbix’;
mysql> flush privileges;
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+——————–+
3. 安装 Zabbix
yum install httpd libxml2-devel net-snmp-devel libcurl-devel
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
./configure –prefix=/usr/local/zabbix –sysconfdir=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql –with-libxml2
make &&make install
编译 zabbix 如果报下面错误,就做以下操作
报错信息:configure: error: Not found mysqlclient library
#find / -name libmysqlclient*
ln -s /usr/lib64/mysql/libmysqlclient.so.18.1.0 /usr/lib64/mysql/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 /usr/lib64/mysql/libmysqlclient_r.so
4. 配置 Zabbix
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost 数据库 ip 地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=10.10.100.147 #zabbix server ip 地址
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /soft/zabbix-3.0.3/misc/init.d/Fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
sed -i “s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g” /etc/init.d/zabbix_server
5. 配置 http WEB
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
DocumentRoot “/var/www/html”
ServerName 10.10.100.147
mkdir -p /var/www/html/zabbix
cp -r /soft/zabbix-3.0.3/frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
6. 启动服务
chkconfig zabbix_server on
/etc/init.d/zabbix_server start
service httpd restart
7. 用浏览器访问 http://10.10.100.147/zabbix/,并按照提示安装:
:
输入 mysql 密码,其他默认,继续
输入 zabbix server 信息,默认即可,继续
安装信息汇总,没问题就继续
提示安装成功了,点击完成进入登陆界面
终于看到 Zabbix 3.0 的新版登陆界面了,默认用户名 / 密码:Admin/zabbix,注意用户名也区分大小写
至此 zabbix 的安装完成!可以查看 zabbix 服务端日志:tail -100f /tmp/zabbix_server.log
号外:
zabbix server is running value no 解决方法:
1. 关闭 selinux
2. 关闭防火墙
3. 登录 mysql 数据库,查看是否可以登录.
4. 打开 vim /var/www/html/zabbix/conf/zabbix.conf.php 将 server 改成 ip 地址
$DB[‘SERVER’] = ‘10.10.100.147’; #ip 为 zabbix server 端地址.
$ZBX_SERVER = ‘10.10.100.147’;
zabbix 自动化安装脚本:
#!/bin/bash
echo -n “stop SELinux…”
setenforce 0 > /dev/null 2>&1
sed -i ‘/^SELINUX=/s/=.*/=disabled/’ /etc/selinux/config && echo “OK”
echo -n “stop iptables fire ……”
/etc/init.d/iptables stop
echo -n “upgrate php version, 默认为 5.3.3 的版本 …”
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y
sed -i “s@;date.timezone =@date.timezone = Asia/Shanghai@g” /etc/php.ini
sed -i “s@post_max_size = 8M@post_max_size = 32M@” /etc/php.ini
sed -i “s@max_execution_time = 30@max_execution_time = 300@” /etc/php.ini
sed -i “s@max_input_time = 60@max_input_time = 300@” /etc/php.ini
sed -i “s@;always_populate_raw_post_data = -1@always_populate_raw_post_data = -1@” /etc/php.ini
echo -n “ 升级 MYSQL 的版本, 默认为 5.1 的版本 ”
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel -y
echo -n “ 正在启动 mysqld 服务……”
service mysqld start > /dev/null 2>&1 && echo “OK”
echo -n “ 正在为 mysql 的 root 用户设置密码……”
mysqladmin -uroot password “123456” && echo “OK”
echo “ 正在执行 mysql 语句……”
mysql -uroot -p123456 -e “CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;” && echo “sucess.”
mysql -uroot -p123456 -e “GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbix’;” && echo “sucess.”
mysql -uroot -p123456 -e “flush privileges;”
echo “ 安装 Zabbix”
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
yum install httpd libxml2-devel net-snmp-devel libcurl-devel -y
echo -n “ 正在下载 zabbix 源码包……”
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
echo -n “ 正在解压……”
tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
./configure –prefix=/usr/local/zabbix –sysconfdir=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql –with-libxml2
make &&make install
zabbix 自动化安装脚本
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-05/144150p2.htm
zabbix 添加监控服务器.
zabbix 添加监控服务器(以添加 10.10.100.137 为例)
(1)创建要监控的主机。点击配置(configuration)–》主机(host) –》创建主机 (create host)
(2). 主机参数这里填写。注意客户端名称以及对外显示名称、群组和 IP 地址(包括 dns name 区别)是否设置代理。其他的根据自身情况设置。
(3.) 选择主机监控使用的模版, 这里监控的是一台 CentOS 6.5,搜索 linux 选择第一个以后点击添加。然后存档。
(4.) 查看已经监控的主机, 至此, 主机监控添加完毕。
(5.)查看监控的主机图表。步骤:Monitoring ->Latest data ->Filter,右边选中要查看的群组和对应服务器 IP,就可以看到详细信息了。
(6.)点击右边 Graph 查看监控的主机图表
至此,监控主机添加完成!
创建 screen
点击 Monitoring–screen–create screen,输入如下信息:
screen 元素添加
然后将 screens 组添加到监控面板中,即可!
简介:
如何使用 Zabbix 监控 Nginx 状态?
1、获取 Nginx 状态(HTTP Stub Status)
[root@localhost ~]# /apps/product/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/apps/product/nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-file-aio --with-pcre
# 查看编译时有没有加入状态监控模块,如果没有需要单独加载
2、配置 nginx.conf
[root@localhost ~]# vim /apps/product/nginx/conf/nginx.conf
location ~ /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 10.10.100.147;
deny all;
}
# 在虚拟主机 server {} 段中加入上面配置,也可以单独定义一个专门用于监控的虚拟主机。# deny all , 拒绝除 allow 中的主机之外所有主机访问此 URL,实现过程中如果遇到 403,有可能是你把自己测试的机器拒绝了!
3、Nginx 监控项解释
[root@localhost ~]# curl http://127.0.0.1/nginx_status
Active connections: 1
server accepts handled requests
77671 77671 77666
Reading: 0 Writing: 1 Waiting: 0
# Active connections: 对后端发起的活动连接数
# Server accepts handled requests: Nginx 总共处理了 77671 个连接,成功创建了 77671 次握手(没有失败次数),总共处理了 77666 个请求
# Reading: Nginx 读取到客户端的 Header 信息数
# Writing: Nginx 返回给客户端的 Header 信息数
# Waiting: 开启 keep-alive 的情况下,这个值等于 active – (reading + writing), 意思是 Nginx 已经处理完成,正在等待下一次请求指令的驻留连接
# 在访问效率很高,请求很快被处理完毕的情况下,Waiting 数比较多是正常的。如果 reading + writing 数较多,则说明并发访问量很大,正在处理过程中
4、编写脚本获取上面的 key 值
[root@localhost ~]# vim /script/nginx_status.sh
#!/bin/bash
case $1 in
active)
curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $3}' ;;
accepts)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $1}' ;;
handled)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $2}' ;;
requests)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $3}' ;;
reading)
curl -s http://127.0.0.1/nginx_status | awk '/Reading/ {print $2}' ;;
writing)
curl -s http://127.0.0.1/nginx_status | awk '/Writing/ {print $4}' ;;
waiting)
curl -s http://127.0.0.1/nginx_status | awk '/Waiting/ {print $6}' ;;
*)
echo "Usage: $0 {active | accepts | handled | requests | reading | writing | waiting}" ;;
esac
# 脚本使用 curl 结合 awk 来获取 key 的值。
# -s 静默模式,如果不加 -s 参数,则获取到的结果是不正确的。
[root@localhost ~]# chmod a+x /script/nginx_status.sh
5、添加自定义 key 配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf
## Nginx_status
UserParameter=nginx.active,/script/nginx_status.sh active
UserParameter=nginx.accepts,/script/nginx_status.sh accepts
UserParameter=nginx.handled,/script/nginx_status.sh handled
UserParameter=nginx.requests,/script/nginx_status.sh requests
UserParameter=nginx.reading,/script/nginx_status.sh reading
UserParameter=nginx.writing,/script/nginx_status.sh writing
UserParameter=nginx.waiting,/script/nginx_status.sh waiting
# 也可以直接加到 /etc/zabbix/zabbix_agentd.conf 末尾
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1 # 允许自定义 Key
# 添加上面配置
5、重启 Zabbix_agentd
[root@localhost ~]# /etc/init.d/zabbix-agent restart
## 注意,上面全部操作都是在被监控端
6、Zabbix 服务端测试能否拿到 Key
[root@localhost ~]# /usr/local/zabbix/bin/zabbix_get -s 10.10.100.24 -k nginx.active
1
[root@localhost ~]# /usr/local/zabbix/bin/zabbix_get -s 10.10.100.24 -k nginx.requests
78182
# 可以获取到 key 的值,说明配置没有问题了
# 被监控端记得要开启 10050 端口
7、Zabbix 监控 Nginx 状态
# 接下来就是在 zabbix Web 界面,创建模板、添加监控项了
1.)创建模板
# 一起跟着我点点点 Configuration --> Templates --> Create template
Template name : Template App Nginx Service
Groups In groups : Templates
Update
2.) 创建应用分组
# 现在又回到了模板页,跟我一起点 Template App Nginx Service 模板后面的 Applications --> Create application
Name : Nginx status
Update
3.)创建监控项
# 现在的位置是 Template App Nginx Service 模板中的 Applications 页面,跟我一起点击刚创建的 Nginx status 后面的 Items -> Create item
8、将模板应用到主机
1.> 如果没有主机,跟着我点点点 Configuration -> Hosts -> Create host
Host name : 10.10.100.24 ## 被监控端 IP(这里要写被监控端 zabbix_agentd.conf 文件中 Hostname 的值)Visible name : 24_report_monitor ## 定义一个别名(要显示的名字)Groups In groups : H2 ## 选择加入到一个主机组中
New group : 留空 ## 自定义一个主机分组
Agent interfaces : ## 接口协议
IP address : 10.10.100.24 ## 被监控端的 IP
DNS name : 留空 ## 监控主机能够解析的名称
Connect to : IP ## 选择什么方式
Port : 10050 ## 被监控端要开放此端口
Description : 留空 ## 对主机的描述信息
Monitored by proxy : no proxy ## 不使用代理
Enabled : 勾选 ## 开启监控(Monitored 代表主机可用,已被监控中;Not monitored 代表主机不可用,不被监控)Add ## 代表主机添加完成(这里先不点的啦,一并把模板链接上)选择当前页面中的 Templates
2.> 现在的位置是主机页中的模板选项卡中,跟着我点点点 Select
新页面中选择 Template App Nginx Service 之后又返回来了,点击 Add 这样就成功链接模板了
Add ## 最后来一次就可以啦
9.) 看一下劳动成果咯
1.> 跟着我点点点 Configuration –> Hosts
# 你会看到刚添加的主机,它有一个 Applications,7 个 Items,看到链接了模板,状态为 Enabled。
2.> 跟着我点点点 Monitoring -> Latest data
Hosts : Select 一下刚创建的主机,注意:它在分组里面,点击 Filter
# 现在,你有没有看到 7 个监控项,并且都获取到了数据的
10、给主机添加一个 Graph(图表)
1.> 跟着我点点点 Configuration -> Hosts 之后,点击刚创建的主机后面的 Graphs 就可以创建图表了
# 我临时改变主意了,直接去模板里创建比较好,这样就不用给每台主机创建了
2.> 跟着我点点点 Configuration -> Templates 之后,点击刚创建的模板后面的 Graphs -> Create graph
Name : Nginx status ## 图表名称
width : 900 ## 宽度
height : 200 ## 高度
Graph type : Normal ## 图表类型
Normal : 常规图表,值用线条表示
Stacked : 叠图
pie : 饼图
Exploded : 分解饼图
Show legend : 勾选 ## 显示图表说明
Show working time : 勾选 ## 非 "工作时间" 用灰色表示,不有用于饼图跟分解饼图。Show triggers : 勾选 ## 触发达到阈值会用红色线条显示,不能用于饼图跟分解饼图,只有部分触发器函数支持,如 min、max
Percentile line(left) : 不勾选 ## 左边的 Y 轴用来显示百分比,仅对常规图表适用
Percentile line(right) : 不勾选 ## 右边的 Y 轴用来显示百分比,仅对常规图表适用
Y axix MIN value : Calculated ## 自动计算 Y 轴最小值
Y axis MAX value : Calculated ## 自动计算 Y 轴最大值
Items ## 点击 Add 将之前的 7 个 item 都添加到一张图中
Name : Item 的名称显示的数据
Function : 当一个 Item 存在不止一个值时, 显示哪一个数据(all 全部,min 仅最小值,avg 仅平均值,max 仅最大值)
Draw style : Line ## 仅对常规图表适用,对叠图填充区域适用
Line:画线条
Filled region : 画填充区域
Bold line : 画粗线
Dot : 画圆点
Dashed line : 画虚线
Y axis side : Left ## Y 轴的左侧分给元素
Colour : 每种元素代表的颜色
Add ## 完成 Graph 创建,如果在主机中,可以通过第二选项卡 Preview 查看
11.)查看 Graph
# 由于之前已经引用了模板,所以现在主机中自动就有了此 Graph
> 跟着我点点点 Monitoring -> Graphs 就可以查看各监控图表了.
Zabbix 邮件报警配置
一、安装 sendmail 或者 postfix(安装一种即可)
yum install sendmail #安装
service sendmail start #启动
chkconfig sendmail on #设置开机启动
或者
yum install postfix
service postfix start
chkconfig postfix on
二、安装邮件发送工具 mailx
yum install mailx #安装
三、设置发送邮件的 email, 用于邮件发送
cat /etc/mail.rc //内容如下
set from=xxx@sina.cn
set smtp=smtp.sina.com
set smtp-auth-user=xxx@sina.cn
set smtp-auth-password=xxxxxxx
set smtp-auth=login
发送测试邮件
echo "zabbix test ..." |mail -s "zabbix" xxx@qq.com
四.zabbix 服务器端编写邮件发送脚本.
增加可执行权限
chown zabbix.zabbix /etc/zabbix/alertscripts/sendmail.sh
chmod +x /etc/zabbix/alertscripts/sendmail.sh
给日志赋予权限:
chown zabbix.zabbix /tmp/sendmail.log
测试:
su - zabbix
/etc/zabbix/alertscripts/sendmail.sh xxxx@juzifenqi.com
"测试邮件标题"
"测试邮件内容"
看是否可以由 zabbix 用户执行调用.
测试发送脚本
/etc/zabbix/alertscripts/sendmail.sh xxx@qq.com "测试邮件标题 " " 测试邮件内容"
上述操作均在 zabbix service 端操作.
五.zabbix 后台配置, 登录 zabbix 控制台 http://IP 地址 /zabbix.
1.> Administration|Media types | Create media type,进入告警方式配置界面,创建 sendmail.sh 告警方式.
Name 这里可以随便自己定义,Type 选择 scripts;Script name 则输入 linux 下编写的脚本名称,即 sendmail.sh, 在 Script parameters 处点击 Add 分别添加
{ALERT.SENDTO},
{ALERT.SUBJECT},
{ALERT.MESSAGE} 3 个参数,分别对应 sendEmail.sh 脚本需要的 3 个参数:收件人地址、主题、详细内容然后点击 Add 添加完成.
点击 Administration | Users,进入用户配置界面,点击 Admin 用户,在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:
配置完成后如下图:
点击 User groups,点击 zabbix administrator 组后面的调用模式,点击一下,就启用了, 如下图:
点击 Zabbix administrators 组名称 点 Permissions->Add 选择所有 点击 select 进行更新。
2.> 设置 Zabbix 触发报警的动作。
Configuration–>Action 点击右上方的 Create action 创建 action (也可以修改已有的 Actions),具体如下:
如图:
点击 Configuration | Actions | Operations 如图:
修改以下内容(实际情况,大家根据自己需求填写,这里仅仅为了展示)
Default operation step duration 为 60 秒
Steps 为 3, 表示触发 3 次动作
Send to User groups 选择 Zabbix administrators
Send to Users 选择 Admin (Zabbix Administrator)
Send only to 选择 sendmail.sh
点击 Add
解释:
默认的步骤是 1 -1, 也即是从 1 开始到 1 结束。一旦故障发生,就是执行 sendEmail.sh 脚本发生报警邮件给 Admin 用户和 zabbix administrator 组。
假如故障持续了 1 个小时,它也只发送一次。如果改成 1 -0,0 是表示不限制. 无限发送间隔就是默认持续时间 60 秒。那么一个小时,就会发送 60 封邮件
至此 zabbix 邮件报警基本配置完成!
测试时,停止 zabbix_agent 看能否收到邮件信息!如收到信息格式个信息内容基本如下;
查看 Reports | Action log 查看日志信息和发送状态.
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Zabbix 触发器表达式详解 http://www.linuxidc.com/Linux/2017-03/141921.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/144150.htm