阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.5下Zabbix3安装配置超详细教程

242次阅读
没有评论

共计 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/,并按照提示安装:

 CentOS 6.5 下 Zabbix3 安装配置超详细教程

输入 mysql 密码,其他默认,继续

 CentOS 6.5 下 Zabbix3 安装配置超详细教程

输入 zabbix server 信息,默认即可,继续

CentOS 6.5 下 Zabbix3 安装配置超详细教程安装信息汇总,没问题就继续

CentOS 6.5 下 Zabbix3 安装配置超详细教程 提示安装成功了,点击完成进入登陆界面

CentOS 6.5 下 Zabbix3 安装配置超详细教程终于看到 Zabbix 3.0 的新版登陆界面了,默认用户名 / 密码:Admin/zabbix,注意用户名也区分大小写

CentOS 6.5 下 Zabbix3 安装配置超详细教程

至此 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/,并按照提示安装:

 CentOS 6.5 下 Zabbix3 安装配置超详细教程

输入 mysql 密码,其他默认,继续

 CentOS 6.5 下 Zabbix3 安装配置超详细教程

输入 zabbix server 信息,默认即可,继续

CentOS 6.5 下 Zabbix3 安装配置超详细教程安装信息汇总,没问题就继续

CentOS 6.5 下 Zabbix3 安装配置超详细教程 提示安装成功了,点击完成进入登陆界面

CentOS 6.5 下 Zabbix3 安装配置超详细教程终于看到 Zabbix 3.0 的新版登陆界面了,默认用户名 / 密码:Admin/zabbix,注意用户名也区分大小写

CentOS 6.5 下 Zabbix3 安装配置超详细教程

至此 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)

CentOS 6.5 下 Zabbix3 安装配置超详细教程

(2). 主机参数这里填写。注意客户端名称以及对外显示名称、群组和 IP 地址(包括 dns name 区别)是否设置代理。其他的根据自身情况设置。

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 

(3.) 选择主机监控使用的模版, 这里监控的是一台 CentOS 6.5,搜索 linux 选择第一个以后点击添加。然后存档。

CentOS 6.5 下 Zabbix3 安装配置超详细教程

(4.) 查看已经监控的主机, 至此, 主机监控添加完毕。

CentOS 6.5 下 Zabbix3 安装配置超详细教程

(5.)查看监控的主机图表。步骤:Monitoring ->Latest data ->Filter,右边选中要查看的群组和对应服务器 IP,就可以看到详细信息了。

CentOS 6.5 下 Zabbix3 安装配置超详细教程

(6.)点击右边 Graph 查看监控的主机图表

CentOS 6.5 下 Zabbix3 安装配置超详细教程

至此,监控主机添加完成!

 

 创建 screen

点击 Monitoring–screen–create screen,输入如下信息:

CentOS 6.5 下 Zabbix3 安装配置超详细教程

screen 元素添加

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 

CentOS 6.5 下 Zabbix3 安装配置超详细教程

然后将 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

CentOS 6.5 下 Zabbix3 安装配置超详细教程

Name : nginx active        ## 监控项名称

Type : Zabbix agent            ## 监控类型,默认被动模式

Key : nginx.active        ## 由于是自定义 Key,所以要自己写上去。如果使用自带的 Key,点击 Select 选择就可以了

Type of information : Numeric(unsiqned)        ## 数据在进行类型转化之后存入数据库

    Numeric(unsiqned) :64 位无符号整数
    Numeric(
float ) : 浮点数类型
    Character :  字符串类型数据,限制为 255B
    Log : 日志文件,必须使用的 Key 为 log[]
    Text : 文本,不限制大小

Data type : Decimal                # 数据类型用于存储 Items 中 Key 所获取的数值值,存储在不同的表中, 如:history、history_str 等表

    Boolean : 在数据存储时将原本的值替换为01,TRUE 存储为 1,FALSE 存储为 0,所有的值都区分大小写(任何非零都为 TRUE,0 为 FALSE)
    Octal : 八进制数的数值格式
    Decimal : 十进制数的数值格式
    Hexadecimal : 十六进制数的数值格式

    ## Zabbix 自动执行数据类型的格式转换

Units : 留空                          ## 单位符号,Zabbix 会自动处理接收到的数据,并且把数据转换为需要显示的格式

Use custom multiplier : 不勾选            ## 如果开启,所接收到的数据会被乘以整数或浮点数。该选项用于单位换算,KB、MBps 换为 B、Bps 等

Update interval(in sec ) : 30          ## 间隔多长时间通过 Items 收集数据,单位 秒

    Flexible intervals :              ## 用于设置不同时间段收集数据的间隔不同,如果设置,则此时间段按这个间隔,其余的按上面参数的间隔

    New flexible interval Interval(in sec ) : 50 Period 17,00:0024:00 Add :    ## 通过这里来添加一个新的时间段

History storage period(in days ) : 90    ## 历史数据保留时间

Trend storage period(in days ) : 365    ## 趋势数据保留时间

Store value : Asis    ## 数据存储时的类型

    Asis : 无预处理

    Delta(speed per second) : 显示每秒速率的值(例如网卡流量)

    Delta(simple change) : 显示本次数值与上次数值的差值

Show value : Asis          ## 无预处理(数据显示时的类型,值映射:将接收到的值映射为一个状态,不改变原值,只改变显示结果,例如将 1 映射为 Nginx service states)

New application : 留空              ## 创建一个新的应用分组

Applications : Nginx status            ## 选择一个已有的应用分组

Populates host inventory field : None    ## 将此 Item 分配给某个资产管理组

Description : 留空                                ## 对 Item 的描述信息

Enabled : 勾选                                    ## 开启此 Item

Add

## 分别定义 active| accepts | handled | requests | reading | writing | waiting 即可

CentOS 6.5 下 Zabbix3 安装配置超详细教程

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 ## 最后来一次就可以啦

CentOS 6.5 下 Zabbix3 安装配置超详细教程

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 服务器端编写邮件发送脚本.

mkdir /etc/zabbix/alertscripts vim/etc/zabbix/zabbix_server.conf                //修改 alert scripts 为以下路径
AlertScriptsPath=/etc/zabbix/alertscripts

/etc/init.d/zabbix_server restart //重新启动 zabbix 服务端

#vim
/etc/zabbix/alertscripts/sendmail.sh            // 编写邮件发送脚本

messages
=`echo $3 | tr \r\n \n`
subject
=`echo $2 | tr \r\n \n`
echo
${messages} | mail -s ${subject} $1 >>/tmp/sendmail.log 2>&1

增加可执行权限

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 添加完成.

CentOS 6.5 下 Zabbix3 安装配置超详细教程

点击 Administration | Users,进入用户配置界面,点击 Admin 用户,在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:

CentOS 6.5 下 Zabbix3 安装配置超详细教程

配置完成后如下图:

CentOS 6.5 下 Zabbix3 安装配置超详细教程

点击 User groups,点击 zabbix administrator 组后面的调用模式,点击一下,就启用了, 如下图:

CentOS 6.5 下 Zabbix3 安装配置超详细教程

点击 Zabbix administrators 组名称 点 Permissions->Add 选择所有 点击 select 进行更新。

2.> 设置 Zabbix 触发报警的动作。

Configuration–>Action 点击右上方的 Create action 创建 action (也可以修改已有的 Actions),具体如下:

Name    名字自己随便定义(如 Server-Sendmail)

Default subject  故障 {TRIGGER.STATUS}, 服务器:{HOSTNAME1} 发生: {TRIGGER.NAME}故障!
#Default subject 定义收到邮件头的信息.
Default message      #定义邮件的内容信息

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

Recovery message    打钩 #服务恢复后的信息

Recovery subject  恢复 {TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME} 已恢复!

Recovery message

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

如图:

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 点击 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

CentOS 6.5 下 Zabbix3 安装配置超详细教程 

 解释: 
默认的步骤是 1 -1, 也即是从 1 开始到 1 结束。一旦故障发生,就是执行 sendEmail.sh 脚本发生报警邮件给 Admin 用户和 zabbix administrator 组。
假如故障持续了 1 个小时,它也只发送一次。如果改成 1 -0,0 是表示不限制. 无限发送间隔就是默认持续时间 60 秒。那么一个小时,就会发送 60 封邮件 

至此 zabbix 邮件报警基本配置完成!

测试时,停止 zabbix_agent 看能否收到邮件信息!如收到信息格式个信息内容基本如下;

CentOS 6.5 下 Zabbix3 安装配置超详细教程

 

查看 Reports | Action log 查看日志信息和发送状态.

CentOS 6.5 下 Zabbix3 安装配置超详细教程

一些 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计23306字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中