LINUX学习------Linux自动化运维——zabbix

一、zabbix的安装和部署

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix由2部分构成,zabbix server与可选组件zabbix agent

1、zabbix的安装

zabbix server (server1)

yum install httpd -y
vim /etc/yum.repos.d/zabbix.repo 								##搭建仓库
	[zabbix]
	name=zabbix 5.0lts
	baseurl=http://172.25.254.250/pub/docs/zabbix/5.0LTS
	gpgcheck=0

scp /etc/yum.repos.d/zabbix.repo server2/3:/etc/yum.repos.d/	##搭建server2,server3仓库
yum install zabbix-server-mysql zabbix-agent -y
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y		##有依赖性

在这里插入图片描述

下载mysql tar包

yum install mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm mysql-community-libs-5.7.33-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm mysql-community-server-5.7.33-1.el7.x86_64.rpm  -y

在这里插入图片描述

systemctl start mysqld
cat /var/log/mysqld.log				##查看初始密码
mysql_secure_installation 			##数据库初始化设置
n y y y y

在这里插入图片描述

mysql -p
mysql> create database zabbix character set utf8 collate utf8_bin;	
mysql> create user zabbix@localhost identified by 'Hush123.';
mysql> grant all privileges on zabbix.* to zabbix@localhost;

cd /usr/share/doc/zabbix-server-mysql-5.0.15/
zcat create.sql.gz | mysql -uzabbix -p zabbix

mysql -p
mysql> use zabbix;
mysql> show tables;

在这里插入图片描述

vim /etc/zabbix/zabbix_server.conf				##修改数据库密码密码
  DBPassword=Hush123.

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf	##设置时区
  php_value[date.timezone] = Asia/Shanghai

systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm

图形初始化设置
使用浏览器访问zabbix server端的ip(172.25.22.1/zabbix)
在这里插入图片描述
全ok表示配置完成
在这里插入图片描述
输入账户密码
在这里插入图片描述
输入名字
在这里插入图片描述
确认填写信息
在这里插入图片描述
输入初始账户密码(Admin,zabbix)
在这里插入图片描述
初始界面可设置中文
在这里插入图片描述

cd /usr/share/zabbix/assets/fonts/
rm -rf graphfont.ttf
下载simkai.ttf字体
ln -s simkai.ttf graphfont.ttf

2、zabbix添加主机

Agent (server2)

[server2]
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
	Server=172.25.22.1
	ServerActive=172.25.22.1
	Hostname=server2

systemctl enable --now zabbix-agent

Agent (server3)

[server3]
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
	Server=172.25.22.1
	ServerActive=172.25.22.1
	Hostname=server3

systemctl enable --now zabbix-agent

图形界面:手动添加

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

图形界面:自动添加

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

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

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

自动注册(需关闭自动发现功能)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

systemctl restart zabbix-agent.service			##server2,server3

在这里插入图片描述

zabbix中API的使用

检索主机

#!/bin/bash
#curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '
#{
#
#    "jsonrpc": "2.0",
#    "method": "user.login",
#    "params": {
#        "user": "Admin",
#        "password": "zabbix"
#    },
#    "id": 1,
#    "auth": null
#
#}' http://172.25.22.1/zabbix/api_jsonrpc.php | python -m json.tool


#curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '
#{
#    "jsonrpc": "2.0",
#    "method": "host.get",
#    "params": {
#        "output": [
#            "hostid",
#            "host"
#        ],
#        "selectInterfaces": [
#            "interfaceid",
#            "ip"
#        ]
#    },
#    "id": 2,
#    "auth": "33e6a455be620633bcd7005302a3cd3f"
#}' http://172.25.22.1/zabbix/api_jsonrpc.php | python -m json.tool

删除主机

#curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '
#{
#    "jsonrpc": "2.0",
#    "method": "host.delete",
#    "params": [
#        "10437"
#    ],
#    "id": 1,
#    "auth":"33e6a455be620633bcd7005302a3cd3f"
#
#}' http://172.25.22.1/zabbix/api_jsonrpc.php | python -m json.tool

创建主机

#curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '
#{
#    "jsonrpc": "2.0",
#    "method": "host.create",
#    "params": {
#        "host": "server3",
#        "interfaces": [
#            {
#                "type": 1,
#                "main": 1,
#                "useip": 1,
#                "ip": "172.25.22.3",
#                "dns": "",
#                "port": "10050"
#            }
#        ],
#        "groups": [
#            {
#                "groupid": "2"
#            }
#        ],
#        "templates": [
#            {
#                "templateid": "10001"
#            }
#        ]
#    },
#    "auth": "33e6a455be620633bcd7005302a3cd3f",
#    "id": 1
#
#}' http://172.25.22.1/zabbix/api_jsonrpc.php | python -m json.tool

二、zabbix监控Apache和Nginx

http(server2)/nginx(server3)

server2(http)

yum install -y httpd
echo server2 > /var/www/html/index.html
vim /etc/httpd/conf/httpd.conf
	<Location "/server-status">
    	SetHandler server-status
    	Require all granted
	</Location>

echo server2 > /var/www/html/index.html
systemctl enable --now httpd

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

ab -c1 -n 1000 http://172.25.22.2/index.html		##压力测试

在这里插入图片描述

在这里插入图片描述

server3(nginx)

tar zxf nginx-1.21.1.tar.gz 
cd nginx-1.21.1/
yum install -y gcc pcre-devel zlib-devel
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make
make install
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/
vim /usr/local/nginx/conf/nginx.conf
        location = /basic_status {
                stub_status;
        }
nginx -t
nginx -s reload

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

 ab -c1 -n 1000 http://172.25.22.3/index.html

在这里插入图片描述

在这里插入图片描述

手动编写nginx监控图形策略

server3

cd /etc//zabbix/zabbix_agentd.d/
vim nginx_status.conf
	UserParameter=nginx.active,curl -s localhost/basic_status | grep Active | awk '{print $3}'

	UserParameter=nginx.accepts,curl -s localhost/basic_status | awk NR==3 | awk '{print $1}'

	UserParameter=nginx.handler,curl -s localhost/basic_status | awk NR==3 | awk '{print $1}'

	UserParameter=nginx.request,curl -s localhost/basic_status | awk NR==3 | awk '{print $1}'

systemctl restart zabbix-agent.service

server1
zabbix_get -s 172.25.22.3 -p 10050 -k "nginx.accepts"		##server1检测数据

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

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

三、zabbix监控mysql

server1中有mysql,可直接监控server1

cd /etc/zabbix/zabbix_agentd.d/
cp /usr/share/doc/zabbix-agent-5.0.15/userparameter_mysql.conf .
mysql -p
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@localhost IDENTIFIED BY 'Hush123.';
mysql> flush privileges;

mkdir /var/lib/zabbix
cd /var/lib/zabbix
vim .my.cnf
	[client]
	user='zbx_monitor'
	password='Hush123.'
             
systemctl restart zabbix-agent.service 

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
但是由于自带的mysq模板监控项太少了,所以需要手动添加模板

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/scripts/templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
vim /etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
##手动测试之后会生成一个txt文件,这个文件生成的默认权限是root,因为访问的时候是用zabbix用户访问的!所以需要权限是zabbix的,所以需要删除调手动测试生成的文件
rm -rf localhost-mysql_cacti_stats.txt

删除之前的mysql
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述自动生成文件,文件所属权是zabbix

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

四、zabbix监控java

server1

yum install zabbix-java-gateway.x86_64 -y
systemctl enable --now zabbix-java-gateway.service
netstat -antlp | grep :10052

vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.25.22.1
JavaGatewayPort=10052
StartJavaPollers=5

systemctl restart zabbix-server.service

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

server2
rpm -ivh jdk-8u121-linux-x64.rpm
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
cd /usr/local
mv apache-tomcat-8.5.24/ tomcat
cd tomcat/bin
./startup.sh
netstat -antlp

在这里插入图片描述
在这里插入图片描述
浏览器访问http://172.25.22.1/zabbix/
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

五、zabbix+proxy

server4
yum install zabbix-proxy-mysql.x86_64
vim /etc/zabbix/zabbix_proxy.conf
Server=172.25.22.1
ServerPort=10051
Hostname=proxy
DBName=zabbix_proxy ##数据库中的库名称
DBUser=zabbix ##访问数据库的身份
DBPassword=Hush123. ##访问数据库的密码

tar xf mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar
yum install mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm mysql-community-libs-5.7.33-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm mysql-community-server-5.7.33-1.el7.x86_64.rpm
systemctl start mysqld
cat /var/log/mysqld.log
mysql_secure_installation
mysql -p
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> create user ‘zabbix’@‘localhost’ identified by ‘Hush123.’;
mysql> grant all privileges on zabbix_proxy.* to ‘zabbix’@‘localhost’;
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.15/schema.sql.gz | mysql -uzabbix -p zabbix_proxy

hostnamectl set-hostname proxy
vim /etc/hosts
172.25.22.4 proxy

server1
cat /var/log/zabbix/zabbix_server.log
在这里插入图片描述

zabbix+cloudalert

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值