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

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

530次阅读
没有评论

共计 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、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7968487
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...