linux项目实战---lamp架构(十)Zabbix监控安装配置(下)

11 篇文章 2 订阅
4 篇文章 0 订阅

一.web监控

注:zabbix_get 模块原理是访问目的地址主机,由目的地主机通过本机回环接口获取本机信息,回传到发送端。

在server7上编译nginx

yum install -y gcc openssl-devel pcre-devel

 ./configure --with-http_stub_status_module --with-http_ssl_module

make

make install

在这里插入图片描述

软连接

cd /usr/local/nginx/
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/

在这里插入图片描述

修改配置

vim conf/nginx.conf

nginx  -t
nginx
   location /status {

           stub_status on;
            access_log off;
            allow 127.0.0.1;
            deny all;
    }

在这里插入图片描述

shell语句抓取nginx

curl -s http://localhost/status  |grep Active |awk '{print $3}'

在这里插入图片描述

写入配置文件:

cd /etc/zabbix/zabbix_agentd.d/
ls
cp userparameter_mysql.conf  userparameter_nginx.conf 
ll
vim userparameter_nginx.conf 
systemctl restart  zabbix-agent.service
UserParameter=nginx.active,curl -s http://localhost/status | grep Active |awk '{print $3}'
UserParameter=nginx.accept,curl -s http://localhost/status | awk NR==3 | awk '{print $1}'
UserParameter=nginx.handle,curl -s http://localhost/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.request,curl -s http://localhost/status | awk NR==3 | awk '{print $3}'

在这里插入图片描述

server6

yum install -y zabbix-get
zabbix_get  -s 172.25.3.7 -p 10050 -k "nginx.active"

在这里插入图片描述

get健值:

zabbix_get  -s 172.25.3.7 -p 10050 -k "nginx.handle"
zabbix_get  -s 172.25.3.7 -p 10050 -k "nginx.accpet"
zabbix_get  -s 172.25.3.7 -p 10050 -k "nginx.accept"
zabbix_get  -s 172.25.3.7 -p 10050 -k "nginx.request"

添加监控项,键值必须与userparameter_nginx.conf对应:
在这里插入图片描述

创建图像,添加监控模块进入图像监控

在这里插入图片描述

在这里插入图片描述

二.添加percona-mysql模块

server6

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 

 cd /var/lib/zabbix/percona/templates

cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

cat userparameter_percona_mysql.conf  | wc -l

在这里插入图片描述

在这里插入图片描述

查看脚本,无需修改:

cd ..
cd scripts/
ls
vim get_mysql_stats_wrapper.sh

安装php-mysql

yum install -y php-mysql

修改连接文件

vim ss_get_mysql_stats.php 

systemctl  restart  zabbix-agent.service

在这里插入图片描述

执行脚本测试,脚本执行成功后生成localhost-mysql_cacti_stats.txt

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh  gg

cd /tmp/
ls
cat localhost-mysql_cacti_stats.txt 

在这里插入图片描述

执行成功后删除txt文件,避免发生冲突导致监控无法自动运行

rm -rf localhost-mysql_cacti_stats.txt 

在firefox 导入模板:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为主机添加模板,查看监控:
在这里插入图片描述

停用stop slave触发器,避免影响使用:

在这里插入图片描述

查看监控图形:

在这里插入图片描述

三.zabbix-web 图形乱码解决

缺少中文模块乱码解决:

cd /usr/share/zabbix/fonts

ls

ll

删除graphfont.ttf

rm -rf graphfont.ttf

复制中文字体模板simkai.ttf到当前目录

cd /usr/share/zabbix/fonts

cp ~/simkai.ttf  .

制作软连接

 ln -s simkai.ttf  graphfont.ttf

在这里插入图片描述

四.zabbix+jmx+tomcat

server6

yum install -y zabbix-java-gateway.x86_64

 cd /etc/zabbix/



systemctl  enable  --now zabbix-java-gateway.service 

 netstat  -antlp | grep :10052

在这里插入图片描述
在这里插入图片描述

修改zabbix_server.conf

JavaGatewayPort=10052

StartJavaPollers=5

JavaGateway=172.25.3.6

在这里插入图片描述

systemctl restart zabbix-server.service

server8

解压tomcat:

tar zxf apache-tomcat-7.0.90.tar.gz  -C /usr/local/

在这里插入图片描述

安装java:

yum install -y java

软连接:

cd /usr/local/

ln -s apache-tomcat-7.0.90/ tomcat

在这里插入图片描述

修改脚本,监控端口8888:

vim /usr/local/tomcat/bin/catalina.sh
TALINA_OPTS='-Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false'

在这里插入图片描述

执行启动脚本:

cd  /usr/local/tomcat

bin/startup.sh

netstat  -antlp

在这里插入图片描述

设置jmx端口:

172.25.3.8  8888

在这里插入图片描述

添加模板

在这里插入图片描述
重启agent,查看状态:

在这里插入图片描述

成功

五.zabbix分布式部署

分布式部署示意:

server6 (server、mysql(zabbix、zabbix-proxy)) <---- server9(proxy) <------ server8(jmx、agent)

原理:
如果所有agent直接向server传递主机信息,一方面会增大server的负载,另一方面由于所有agent都需要穿过防火墙,降低安全性,因此设定代理server收集所有受监控主机信息,再传给server控制端,降低负载同时保证安全性。

  • server6作为server控制端
  • server9作为代理端,负责接受其他agent发来的信息,再传递给server控制端
  • server8作为agent,向代理端传递信息

部署:

server8:指向server9

server9: 收集server8,指向server6  添加java模块

server6: 收集sever9信息  

本次部署,proxy采用存储分离方式,通过网络存储读取数据

DBHost:localhost 本地数据库

DBHost:172.25.3.6 网络数据库   proxy与数据分离

网络连接数据库需要创建网络用户

1.server6:server控制端配置

创建agent代理程序:

在这里插入图片描述

在server8主机管理页面设置接口:

在这里插入图片描述

创建成功:
在这里插入图片描述
在mysql创建库并授予网络访问权限:

create database zabbix_proxy character set utf8 collate utf8_bin;
 grant all  on zabbix_proxy.* to 'zabbix'@'%' identified by 'westos';

在这里插入图片描述
在server9安装好zabbix-proxy-mysql,将数据库设置文件拷贝过来,并导入本机mysql

cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
scp schema.sql.gz  root@172.24.3.6:/roo

在这里插入图片描述
导入文件:
在这里插入图片描述
重启zabbix-server:

 systemctl  restart  zabbix-server.service 

2.server9:proxy端配置

安装zabbix-proxy-mysql:

yum install -y zabbix-proxy-mysql.x86_64

在这里插入图片描述

修改配置文件:



cd /etc/zabbix/
 vim zabbix_proxy.conf

Server=172.25.3.6  #server控制端ip
ServerPort=10051
Hostname=server9   #本机主机名


DBHost=172.25.3.6  #数据库地址 
DBName=zabbix_proxy  #数据库database
DBPassword=westos   #密码
DBUser=zabbix       #登陆用户


JavaGateway=172.25.3.6 #java流地址
StartJavaPollers=5    #最大支持数

启动服务,并设置开机自启;

在这里插入图片描述

3.server8:agent配置

修改agent配置文件,指向server9:

Server=172.25.3.9
ServerActive=172.25.3.9
Hostname=server8
systemctl  restart  zabbix-agent.service

4.效果展示

查看日志

server6日志:server
在这里插入图片描述
server9日志:proxy
在这里插入图片描述
server8日志:agent
在这里插入图片描述
查看监控状态:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值