Zabbix:从介绍、安装到使用【全】【基础篇】

文章目录

  • Zabbix:
    • Zabbix组成:
    • Zabbix功能:
    • Zabbix特点:
  • 下面部分为Zabbix使用演示:
        • 端口占用:
    • 第一部分:安装演示:
    • 第二部分:agent端:
    • 第三部分:自动发现和自动注册:
      • 介绍:自动发现&自动注册
      • 区别:主动和被动
      • 设置:如何使用
    • 第四部分:脚本方式调用API
    • 第五部分:图形监控中的中文乱码解决:
    • 第六部分:监控nginx:

Zabbix:

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。


Zabbix组成:

zabbix由2部分构成,zabbix server与可选组件zabbix agent


Zabbix功能:

监控:

  • CPU负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

Zabbix:从介绍、安装到使用【全】【基础篇】_第1张图片

在使用上:我们通常对物理机监控会使用Zabbix,监控服务,物理机状态,网络等。
而对容器一般用普罗米修斯监控【实时监控】,原因是容器时实时存储再释放的,不需要记录,Zabbix监控会产生较多的日志记录


Zabbix特点:

Zabbix:从介绍、安装到使用【全】【基础篇】_第2张图片

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能

下面部分为Zabbix使用演示:

主机名 IP
server1 172.25.12.1 (zabbix-server)
server2 172.25.12.2 (zabbix-agent)
server3 172.25.12.3(zabbix-proxy)
server4 172.25.12.4(zabbix-agent)

端口占用:

zabbix-server 10051
zabbix-agent 10050
mysql数据库 3306

Zabbix:从介绍、安装到使用【全】【基础篇】_第3张图片


第一部分:安装演示:

Zabbix:从介绍、安装到使用【全】【基础篇】_第4张图片

我这边直接将需要用到的软件包,以及解决依赖性的包都下载存放在了/var/www/html/4.0中,然后真机通过httpd将其共享,虚拟机搭建yum仓库,使其可以使用。

如何网络共享yum源以及本地搭建yum源:https://blog.csdn.net/dddxxy/article/details/89500440
Zabbix:从介绍、安装到使用【全】【基础篇】_第5张图片

Zabbix:从介绍、安装到使用【全】【基础篇】_第6张图片
server1:

yum install -y zabbix-server-mysql mariadb-server zabbix-web-mysql  #下载zabbix服务端 ,mariadb数据库,前端数据库web界面
systemctl start mariadb   #开启数据库
mysql_secure_installation  #数据库安全初始化

Zabbix:从介绍、安装到使用【全】【基础篇】_第7张图片

mysql -p  #登陆数据库
create database zabbix character set utf8 collate utf8_bin;   #创建zabbix库
grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';   #安全初始化中我设定密码为redhat
##如果不能直接授权,那么需要先创建用户,然后再授权
     CREATE USER zabbix@'%' identified by'redhat'; 
 ##用户建立 【%:有远程登陆的权力】【localhost:本地登陆】【by后面跟密码】
     GRANT all privileges ON zabbix.* TO zabbix@'%' identified by'redhat';  
exit
cd /usr/share/doc/zabbix-server-mysql-4.0.5/
zcat create.sql.gz | mysql -p zabbix   #输入mariadb设置的密码
mysql -predhat
use zabbix
show tables  #可以查看到zcat导入进来的表【144个】
cd /etc/zabbix/
vim zabbix_server.conf   #更改DBPassword= 密码【我统一都设置为redhat】
systemctl start zabbix-server  #开启服务
systemctl enable zabbix-server  #开机自启
vim /etc/httpd/conf.d/zabbix.conf
	将php_value data.timezone的注释去掉,更改时区为Asia/shanghai
	#更改时区是因为php要求,当网页登陆时,会有这个要求
systemctl enable httpd   #开启自启

网页访问:http://172.25.12.1/zabbix
Zabbix:从介绍、安装到使用【全】【基础篇】_第8张图片
Zabbix:从介绍、安装到使用【全】【基础篇】_第9张图片
Zabbix:从介绍、安装到使用【全】【基础篇】_第10张图片
Zabbix:从介绍、安装到使用【全】【基础篇】_第11张图片

Zabbix:从介绍、安装到使用【全】【基础篇】_第12张图片
以上就完成了基础配置,可以进入zabbix页面进行监控。如果初始页面是英文版,可以在有上角的人物头像处点击一下,里面有语言切换。【注意!:中文版在图形监测时的汉字可能会为乱码,需要修改配置文件。】


第二部分:agent端:

在做agent的服务器上,我们只需要:

  yum install -y zabbix-agent   #安装客户端
  vim /etc/zabbix/zabbix_agent.conf
  		Server=server端IP    #agent被server监测
  		ServerActive=server端IP   #agent主动请求server监测
  		Hostname=本机主机名
  systemctl start zabbix-agent  #开启
  systemctl enable zabbix-agent  #开机自动启动【为了方便,可以不设置】

在配置,主机界面,能看到已经发现的zabbix服务器,包括服务端,客户端,代理端。下面的代理是我之前已经做过配置,默认没有。在server端也可以添加agent,这样就可以做到监控自己。
Zabbix:从介绍、安装到使用【全】【基础篇】_第13张图片
补充一下:我们部分地方是使用主机名来进行指向的,所以把各个主机的本地解析做好,防止访问不到。

想要去监控agent,那么需要我们主动去先添加要监控的agent主机:
在配置–>主机–>创建主机
Zabbix:从介绍、安装到使用【全】【基础篇】_第14张图片
主机主体设置好后,要添加模版;批量管理,都是根据模版中的设定来去监控主机,而不是需要我们一点一点全部自己添加要监控的内容。
Zabbix:从介绍、安装到使用【全】【基础篇】_第15张图片

Zabbix:从介绍、安装到使用【全】【基础篇】_第16张图片


第三部分:自动发现和自动注册:

介绍:自动发现&自动注册

自动发现:当有满足设定条件的agent端主机出现时,会执行我们为其设定的动作,发现主机并为其执行动作也就创建了主机。
自动注册:省去创建主机的步骤,当有满足条件的agent主机时,自动为其执行动作,将其添加到主机,以及执行其他设定动作

区别:主动和被动

主要为主动和被动的区别,自动发现为server端主动去寻找agent,自动注册为agent主动去注册。

设置:如何使用

配置–>动作–>事件源【自动发现】【自动注册】
必须先设置动作,然后再设置规则!先设置规则并启用的话如果有其他默认动作,就会执行其他动作。

这里我直接 启用了下方的动作,没有再手动添加动作。
Zabbix:从介绍、安装到使用【全】【基础篇】_第17张图片
设定完动作后,设定规则:
Zabbix:从介绍、安装到使用【全】【基础篇】_第18张图片
Zabbix:从介绍、安装到使用【全】【基础篇】_第19张图片
我之前没有开启过server4,现在我开启server4的zabbix-agent【下载zabbix-agent,更改配置文件,开启服务】,会发现已经给它执行了我们设定的动作:添加组。
在这里插入图片描述
注册:简而言之,添加,将满足条件的主机添加到我们的主机列表中。只需要设定条件和动作即可。
Zabbix:从介绍、安装到使用【全】【基础篇】_第20张图片
Zabbix:从介绍、安装到使用【全】【基础篇】_第21张图片


第四部分:脚本方式调用API

https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/host/get
参考官方说明文档


第五部分:图形监控中的中文乱码解决:

乱码的原因是字体不识别,我们更换一种字体即可。
这里我在网上找了simkai.ttf字体,并将其放在了/usr/share/zabbix/fonts这个目录下
在这里插入图片描述
然后vim defines.inc.php将graphfont替换为simkai
Zabbix:从介绍、安装到使用【全】【基础篇】_第22张图片
在这里插入图片描述

systemctl restart zabbix-server      #重起服务      

改完后中文乱码就消失了。

Zabbix:从介绍、安装到使用【全】【基础篇】_第23张图片


第六部分:监控nginx:

在server4上安装nginx
我使用的是 nginx-1.15.8.tar.gz

tar zxf nginx-1.15.8.tar.gz  #解压
yum install -y gcc pcre-devel zlib-devel  #安装编译工具
vim auto/cc/gcc   #防止编译后文件过大

Zabbix:从介绍、安装到使用【全】【基础篇】_第24张图片

./configure --prefix=/usr/local/nginx --with-http_stub_status_module   #编译检测,模块添加
make && make install   #编译
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/   #制作软链接
nginx -t   #检测配置文件是否正确
vim /usr/local/nginx/conf/nginx.conf    #编辑nginx配置文件

Zabbix:从介绍、安装到使用【全】【基础篇】_第25张图片

nginx -t
nginx -s reload   #重新家载nginx
curl http://localhost/status   
#访问测试,截图中因为这是我第四次访问了,每次访问会使其值增加。每个数字分别对应accept、handled、requests

在这里插入图片描述

cd /etc/zabbix/zabbix_agentd.d/   
cp userparameter_mysql.conf userparameter_nginx.conf   #用复制后的文件编写脚本
vim userparameter_nginx.conf    
	删除原有所有内容
	UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
#捕获数据
systemctl restart zabbix-agent   #重起agent

在server1上:

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

在这里插入图片描述
这样,我们在server4上用脚本获取的数据,通过server1的zabbix_get就得到了。
在网页上,给server4添加监控项:Zabbix:从介绍、安装到使用【全】【基础篇】_第26张图片
然后图形方式,预览,就能看到图形化的数据监控了。Zabbix:从介绍、安装到使用【全】【基础篇】_第27张图片

同样的方式:

vim userparameter_nginx.conf    
#继续添加
	UserParameter=nginx.accept,curl -s http://localhost/status | awk NR==3  | awk '{print $1}'
	UserParameter=nginx.request,curl -s http://localhost/status | awk NR==3  | awk '{print $3}'
#捕获数据
systemctl restart zabbix-agent   #重起agent

给主机server4添加监控项,图形模式下监控。就可以看我们指定的nginx状态。

补充:action & accept & request的区别:
action: #活跃连接数
accept: #server接受的连接数
request: #请求server来连接的数目


大大的小小阳

你可能感兴趣的:(zabbix,自动化运维工具)