Zabbix之十----批量安装zabbix-agent及web监控

实战一:实现批量安装zabbix-agent包

环境准备:

zabbox-server服务器:192.168.7.100

zabbix-agent(node1):192.168.7.101

zabbix-agent(node2):192.168.7.102

mariadb数据库(node3):192.168.7.103

zabbix-proxy-mysql(node4 主动proxy代理):192.168.7.104

1、在指定的/usr/local/src目录下创建关键文件,打包做为安装zabbix-agent来用

1、创建zabbix.repo阿里云仓库,存放在/usr/local/src目录下

[[email protected] yum.repos.d]# cat zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
gpgcheck=1

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

2、创建一个nginx_status.sh状态页脚本

[[email protected] src]# cat nginx_status.sh
#!/bin/bash 

nginx_status_fun(){ #函数内容
	NGINX_PORT=$1 #端口,函数的第一个参数是脚本的第二个参数,即脚本的第二个参数是段端口号
	NGINX_COMMAND=$2 #命令,函数的第二个参数是脚本的第三个参数,即脚本的第三个参数是命令
	nginx_active(){ #获取nginx_active数量,以下相同,这是开启了nginx状态但是只能从本机看到
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep ‘Active‘ | awk ‘{print $NF}‘
        }
	nginx_reading(){ #获取nginx_reading状态的数量
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep ‘Reading‘ | awk ‘{print $2}‘
       }
	nginx_writing(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep ‘Writing‘ | awk ‘{print $4}‘
       }
	nginx_waiting(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep ‘Waiting‘ | awk ‘{print $6}‘
       }
	nginx_accepts(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $1}‘
       }
	nginx_handled(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $2}‘
       }
	nginx_requests(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $3}‘
       }
  	case $NGINX_COMMAND in
		active)
			nginx_active;
			;;
		reading)
			nginx_reading;
			;;
		writing)
			nginx_writing;
			;;
		waiting)
			nginx_waiting;
			;;
		accepts)
			nginx_accepts;
			;;
		handled)
			nginx_handled;
			;;
		requests)
			nginx_requests;
		esac
}

main(){ #主函数内容
	case $1 in #分支结构,用于判断用户的输入而进行响应的操作
		nginx_status) #当输入nginx_status就调用nginx_status_fun,并传递第二和第三个参数
			nginx_status_fun $2 $3;
			;;
		*) #其他的输入打印帮助信息
			echo $"Usage: $0 {nginx_status key}"
	esac #分支结束符
}

main $1 $2 $3

3、在/usr/local/src/目录下,创建一个调用nginx_status.sh脚本以conf结尾的配置文件:zabbix-linux.conf

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh  $1 $2 $3  # 调用nginx_status.sh脚本的键值

4、在安装好zabbix-agent包的服务器中,配置/etc/zabbix/zabbix_agentd.conf文件,放到/usr/local/src目录下

LogRemoteCommands=1  # 允许远程连接
Server=192.168.7.100,192.168.7.104 # zabbix服务器的IP地址和proxy主动模式的IP地址
ServerActive=192.168.7.104 # proxy服务器主动模式IP地址
Hostname=  # 将Hostname命名空出来,使用sed -i 命令进行替换
Timeout=30 # 超时时延改为30s
UnsafeUserParameters=1  # 允许特殊字符传递:如管道符、单引号、双引号等。

5、创建一个安装zabbix-agent脚本

[[email protected] src]# cat zabbix-agent-install.sh
#!/bin/bash
DIR="/usr/local/src" # 调用当前目录
useradd -s /sbin/nologin  zabbix  # 创建zabbix用户
\cp $DIR/zabbix.repo  /etc/yum.repos.d/  #将zabbix.repo仓库复制到/etc/yum.repos.d/目录下
yum install zabbix-agent -y  # 安装zabbix-agent包
\cp $DIR/zabbix-linux.conf  /etc/zabbix/zabbix_agentd.d/ # 复制调用nginx_status.sh脚本状态页的脚本到指定的目录下
\cp $DIR/nginx_status.sh /etc/zabbix/zabbix_agentd.d/  # 复制nginx_status.sh脚本到指定目录下
\cp $DIR/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf # 复制zabbix_agentd.conf配置文件到指定的目录下
chmod +x /etc/zabbix/zabbix_agentd.d/*.sh  # 将此目录下的.sh后缀文件加上执行权限
chown zabbix.zabbix /etc/zabbix -R  # 将/etc/zabbix权限进行修改
IP=`ifconfig |grep -w inet | awk ‘{print $2}‘ | head -n1`  # 取出本机的IP地址
sed -i ‘s/Hostname=/Hostname=‘$IP‘/g‘ /etc/zabbix/zabbix_agentd.conf   # 将zabbix配置文件的Hostname=的IP地址进行替换
systemctl start zabbix-agent && systemctl enable zabbix-agent  # 启动zabbix-agent服务,并设置为开机启动

6、配置/etc/yum.repos.d目录下的epel.repo源仓库

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  # 安装阿里云自带的epel源仓库
#  yum install nginx  -y  # 安装nginx服务

7、配置nginx的状态页:/etc/nginx/nginx.conf

location /nginx_status {  # 在server段进行配置
    stub_status;
}

8、启动nginx服务:nginx  

9、在zabbix网页上创建主机

10、关联nginx状态自定义模板

11、查看nginx监控结果

node1安装zabbix-agent脚本打包并传到node2主机

1、将node1主机/usr/local/src目录下的相关文件打包,并传到node2主机/usr/local/src目录下

[[email protected] src]# tar cvf linux-zabbix-agent-install.tar.gz ./*  打包/usr/local/src目录下的文件
./nginx_status.sh
./zabbix_agentd.conf
./zabbix-agent-install.sh
./zabbix-linux.conf
./zabbix.repo
[[email protected] src]# scp linux-zabbix-agent-install.tar.gz  192.168.7.102:/usr/local/src # 将node1主机打包的文件传到node2

2、在node2主机/usr/local/src目录下解压打包的文件

[[email protected] src]# tar xvf linux-zabbix-agent-install.tar.gz

3、在/usr/local/src目录下执行脚本,安装zabbix-agent包

[[email protected] src]# bash zabbix-agent-install.sh 

4、配置epel.repo源,安装nginx服务

[[email protected] yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[[email protected] ~]# yum install nginx -y

5、配置nginx状态页:/etc/nginx/nginx.conf

        location /nginx_status {
            stub_status;
        }

6、启动nginx服务:nginx

在zabbix网页上配置主机并关联模板

1、创建node2主机

2、关联自定义的nginx_status模板

3、此时可以看到ZBX已经变绿了

4、此时查看nginx的状态页:

实战二:Zabbix监控web页面

1、实现返回200状态码的web网页监控

1、在node1主机上创建web场景

2、配置web监测

3、创建步骤,指定网站的URL,创建第一个web页面

4、创建第二页监控 web页面,指定URL地址

5、查看此时监控的web页面效果

2、网页响应时间超时监控web网页

Response time for step "网站首页" of scenario "网站首页": 在以上创建的web场景的基础上添加此触发器即可,选择响应超出的时间,来判断web网页是否宕机。

Response code for step "网站首页" of scenario "网站首页":此触发器就是对web网页响应返回的状态码进行监控。

1、在上面创建的web场景的主机基础上创建触发器,我们可以看到以下的web监测后面显示1,说明此主机进行了web网页监控,点击此主机

2、在监控web网页的主机创建触发器,选择以响应超时时长的触发器

3、配置详细的触发器,一般采用的是第一种配置,在最后一次网页超过5s未响应,说明网页挂掉了,第二种配置是在网页相对不稳定的情况下,可以多加几个判断。

第一种配置:最后一次网页超过5s未响应,说明网页挂掉了

{192.168.7.102:web.test.time[网站首页,网站首页,resp].last()}>5

第二种配置:最后一次网页超过5s未响应,倒数第二次以及倒数第三次网页超过5s未响应,说明网页都挂了。

{192.168.7.102:web.test.time[网站首页,网站首页,resp].last(0)}>5 and {192.168.7.102:web.test.time[网站首页,网站首页,resp].last(1)}>5 and {192.168.7.102:web.test.time[网站首页,网站首页,resp].last(2)}>5

 

  

  

原文地址:https://www.cnblogs.com/struggle-1216/p/12365631.html

时间: 2024-10-10 20:35:23

Zabbix之十----批量安装zabbix-agent及web监控的相关文章

zabbix系列之九——安装后配置四web监控

1web监控 描述 详细 备注 概要 1)      需要定义 web 场景(包括一个或多个 HTTP请求),zabbix服务器根据预定义的命令周期性的执行这些步骤. 2)      Web 场景和 Items,Triggers 等一样,是依附在 Hosts/Templates 的. 3)      Zabbix 将选择跟踪重定向(请参见下面的选择跟踪重定向).重定向硬编码的最大数量为 10 配置 1)配置 (Configuration)–>主机 (或者 模板 ) 点击主机 (host)/ 模板

ansible 批量安装zabbix agentd客户端

目录结构 ansible/ ├── ansible.cfg ├── hosts ├── roles │   └── zabbix-agentd │   ├── files │   │   ├── install_zabbix.sh │   │   └── zabbix-3.0.1.tar.gz │   ├── handlers │   ├── tasks │   │   └── main.yml │   └── templates └── site.yml [[email protected]

zabbix系列一:安装zabbix

首先,准备好前期环境,搭建LAMP,也可以使用yum安装: [[email protected] ~]#yum install make mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml unixODBC-devel OpenIPMI-devel libxml2-devel 启动httpd,mysql:

saltstack批量安装zabbix agent

1.准备zabbix agent的配置文件 由于没有啥特别要求,这里我选择yum安装zabbix22-agent [[email protected] init]# yum -y install zabbix22-agent [[email protected] zabbix]# cp zabbix_agentd.conf /etc/salt/states/init/files/ 2.创建zabbix_agent.sls [[email protected] ~]# vim /etc/salt/

Zabbix(一):server,agent端 安装配置及主机,监控项,触发器,动作,媒介配置步骤

Zabbix(一):server端配置.agent端配置及创建主机组.主机.Application.Item.Trigger步骤详解 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题.  Zabbix的逻辑组件: - 主机(host):被监控的网络设备,通常可以使用IP或DNS名称来指定: - 主机组(hostgroup):主机的逻

Centos 7.0安装Zabbix server详细步骤

zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix由2部分构成,zabbix server与可选组件zabbix agent.zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上.zabbix agent需要安装在被监视的

zabbix监控平台的搭建--安装zabbix

zabbix监控平台之--zabbix安装篇 1.安装依赖包 yum -y install gcc gcc-c++ autoconf httpdphp mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysqlphp-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmathmysql-connector-odbc mysql-devel l

CentOS6上编译安装ZABBIX 3.0

0x00  实验环境 系统:CentOS-6.8-x86_64 httpd:2.4.20 mysql:5.6.31 php:5.6.22 IP:10.0.0.4 0x01  编译安装zabbix3.0 1.下载zabbix源码包 [[email protected] src]# cd /usr/local/src/ [[email protected] src]# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Late

linux监控平台介绍、zabbix监控介绍、安装zabbix

linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokeping 偏向于监控基础的东西. cacti可以监控网络设备,它的图形表现得非常好,非常漂亮. IDC 机房比较喜欢用cacti.smokeping,因为适合监控网络设备. cacti.nagios.zabbix 服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存