欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zabbix

程序员文章站 2022-04-30 09:25:40
...

Zabbix

基本概念

  • Zabbix简介

    • Zabbix是一个高度集成的监控解决方案
    • 可以实现企业级的开源分布式监控
    • Zabbix通过C/S模式采集监控数据
    • Zabbix通过B/S模式实现Web管理
  • 监控拓扑

  • 监控服务器

    • 监控服务器可以通过SNMP或Agent采集数据
    • 数据可以写入MySQL、Oracle等数据库中
    • 服务器使用LNMP实现web前端的管理
  • 被监控主机

    • 被监控主机需要安装Agent
    • 常见的网络设备一般支持SNMP
  • 相关软件包

    • 链接 : https://pan.baidu.com/s/1X0VeuamIpaX-R6DT0uYDVQ 提取码: dyj7

Zabbix部署

实验拓扑

  • 监控服务器
    • 主机名 : zabbixserver
    • 设置IP地址 : 192.168.2.5
    • 关闭防火墙、SELinux
  • 监控客户端
    • zabbixClient1 : 192.168.2.100
    • zabbixClient1 : 192.168.2.200
    • 关闭防火墙、SELinux

环境部署

  • 部署LNMP
    • 配置yum源
    • 准备nginx源码包
    • 安装安装源码包依赖包
    • 解压nginx源码包
    • 安装nginx源码包
    • 安装php 与 mariadb
    • 配置nginx动静分离
    • 启动服务
    • 测试
# 安装nginx源码包
[aaa@qq.com ~]# yum -y install gcc pcre-devel zlib-devel openssl-devel		# 安装安装源码包的依赖包
[aaa@qq.com ~]# tar -zxf nginx-1.12.2.tar.gz
[aaa@qq.com ~]# cd nginx-1.12.2/
[aaa@qq.com nginx-1.12.2]# ./configure --with-http_ssl_module
[aaa@qq.com nginx-1.12.2]# make && make install
# 安装mariadb与php 及相关依赖包
[aaa@qq.com nginx-1.12.2]# yum -y install php php-mysql mariadb mariadb-devel mariadb-server
[aaa@qq.com nginx-1.12.2]# yum -y install php-fpm
# 配置nginx动静分离
[aaa@qq.com nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf  		# 第65到70行左右
... ...

    fastcgi_buffers 8 16k;                      # 缓存php生成的页面内容,8个16k
    fastcgi_buffer_size 32k;                  # 缓存php生产的头部信息
    fastcgi_connect_timeout 300;             # 连接PHP的超时时间
    fastcgi_send_timeout 300;                 # 发送请求的超时时间
    fastcgi_read_timeout 300;                 # 读取请求的超时时间
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi.conf;
    }
... ...
# 启动服务
[aaa@qq.com nginx-1.12.2]# cp /usr/local/nginx/sbin/nginx /usr/bin/
[aaa@qq.com nginx-1.12.2]# nginx
[aaa@qq.com nginx-1.12.2]# systemctl start mariadb
[aaa@qq.com nginx-1.12.2]# systemctl start php-fpm
# 测试
[aaa@qq.com nginx-1.12.2]# cat /usr/local/nginx/html/test.php
<?php
phpinfo()
?>
[aaa@qq.com nginx-1.12.2]# firefox 192.168.2.5/test.php
  • 部署Zabbix
    • 源码安装Zabbix Server
[aaa@qq.com ~]# yum -y install net-snmp-devel curl-devel  			# 安装相关依赖包
[aaa@qq.com ~]# cd Zabbix/
[aaa@qq.com Zabbix]# yum -y install libevent-devel-2.0.21-4.el7.x86_64.rpm  # 注意这个软件包在提供的相关软件包里
[aaa@qq.com Zabbix]# tar -zxf zabbix-3.4.4.tar.gz
[aaa@qq.com Zabbix]# cd zabbix-3.4.4/
# --enable-server  安装部署zabbix服务器端软件
# --enable-agent 安装部署zabbix被监控端软件
# --enable-proxy 安装部署zabbix代理相关软件
# --with-mysql 配置mysql_config路径
# --with-net-snmp 允许zabbix通过snmp协议监控其他设备
# --with-libcurl安装相关curl库文件, 这样zabbix可以通过curl连接http等服务, 测试被监控主机服务的状态
[aaa@qq.com zabbix-3.4.4]# ./configure --enable-server \
> --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \
> --with-net-snmp --with-libcurl
[aaa@qq.com zabbix-3.4.4]# make && make install   # 编译  安装

初始化Zabbix

  • 创建数据库, 准备上线Zabbix的Web页面
[aaa@qq.com zabbix-3.4.4]# mysql
MariaDB [(none)]> create database zabbix character set utf8; 				# 创建数据库, 支持中文字符集
MariaDB [(none)]> grant all on zabbix.* to aaa@qq.com'localhost' identified by 'zabbix'; 		# 创建可以访问数据库的账户与密码
[aaa@qq.com zabbix-3.4.4]# cd database/mysql/
# 往刚刚在mariadb创建的空数据库里导入zabbix的网站页面(zabbix源码包目录下自带)  导入顺序需按下列步骤来
[aaa@qq.com mysql]# mysql -uzabbix -pzabbix zabbix<schema.sql
[aaa@qq.com mysql]# mysql -uzabbix -pzabbix zabbix<images.sql
[aaa@qq.com mysql]# mysql -uzabbix -pzabbix zabbix<data.sql
  • 上线Zabbix的Web页面
[aaa@qq.com mysql]# cd ../../frontends/php/
[aaa@qq.com php]# cp -r * /usr/local/nginx/html/ 		# 将该目录的所有文件及目录 拷贝至网站目录下
[aaa@qq.com php]# chmod -R 777 /usr/local/nginx/html/* 	# 修改其权限
  • 修改Zabbix_server配置文件, 设置数据库相关参数, 启动Zabbix_server服务
[aaa@qq.com php]# vim /usr/local/etc/zabbix_server.conf 		# 修改zabbix配置文件
... ...
DBHost=localhost 		# 默认85行 指定数据库主机, 默认该行被注释
... ...
DBName=zabbix 			# 默认95行 指定数据库名字
... ...
DBUser=zabbix 			# 默认111行  指定数据库用户
... ...
DBPassword=zabbix 		# 默认119行  指定数据库用户的密码, 默认该行被注释
... ...
LogFile=/tmp/zabbix_server.log  	# 默认39行  设置日志文件存放路径
... ...
# 启动服务之前, 需自行创建zabbix用户 因为源码安装不会自动创建用户
useradd -s /sbin/nologin zabbix
# 启动服务
[aaa@qq.com php]# zabbix_server
[aaa@qq.com php]# ss -ntulp | grep zabbix_server
tcp    LISTEN     0      128       *:10051                 *:*                   users:(("zabbix_server",pid=5965,fd=4),....
# 注 : 如果因为配置不对, 导致服务无法启动, 需先killall zabbix_server关闭服务后, 在重新执行zabbix_server
  • 修改Zabbix_agentd配置文件, 设置数据库相关参数, 启动Zabbix_agentd服务
[aaa@qq.com Zabbix]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.2.5 			# 默认93行  	允许哪些主机监控本机
ServerActive=127.0.0.1,192.168.2.5 	# 默认134行   	允许哪些主机通过主动模式监控本机
Hostname=zabbixserver 				# 默认145行   	设置本机主机名
LogFile=/tmp/zabbix_agentd.log 	# 默认30行 	设置日志文件
UnsafeUserParameters=1 				# 默认280行且被注释 	是否允许自定义key
[aaa@qq.com Zabbix]# zabbix_agentd
[aaa@qq.com Zabbix]# ss -ntulp | grep zabbix_agentd
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=6124,fd=4)....
# 注 : 如果因为配置不对, 导致服务无法启动, 需先killall zabbix_agentd关闭服务后, 在重新执行zabbix_agentd
  • 访问Zabbix_server服务器的Web页面 测试
    • 第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议
firefox 192.168.2.5/index.php 		# 点击next step

Zabbix
- 默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件

[aaa@qq.com php]# yum -y install php-gd php-xml 		# php-gd支持图片   php-xml 支持扩展标签语言
[aaa@qq.com Zabbix]# yum -y install php-bcmath.x86_64
[aaa@qq.com Zabbix]# yum -y install php-mbstring.x86_64 
[aaa@qq.com Zabbix]# vim /etc/php.ini  		# 修改php配置文件
date.timezone = Asia/Shanghai 		# 默认878行且被注释  设置时区
max_execution_time = 300 			# 默认384行   最大执行时间 单位秒
post_max_size = 32M 					# 默认672行	POST数据最大容量
max_input_time = 300 					# 默认394行 	服务器接收数据的时间限制
memory_limit = 128M 					# 默认405行 	内存容量限制

# 重启nginx和php-fpm服务
[aaa@qq.com Zabbix]# nginx -s reload
[aaa@qq.com Zabbix]# systemctl restart php-fpm
# 查看页面 点击next step 注意此处PHP LDAP是warning状态是没有问题的
[aaa@qq.com Zabbix]# firefox 192.168.2.5/index.php

Zabbix
- 继续点击next step, 初始化数据库页面
Zabbix
- 继续点击next step
Zabbix
- 继续点击next step, 进入zabbix登录(默认管理用户名 : admin 密码默认为数据库密码 : zabbix)
Zabbix
- 修改设置, 配置成中文界面(如果浏览器所在主机没安装中文包,则有可能乱码)

[aaa@qq.com Zabbix]# yum list | grep chine | grep google
google-noto-sans-simplified-chinese-fonts.noarch 			# 简体
google-noto-sans-traditional-chinese-fonts.noarch 		# 繁体
[aaa@qq.com Zabbix]# yum -y install google-noto-sans-simplified-chinese-fonts.noarch
[aaa@qq.com Zabbix]# firefox 192.168.2.5/index.php

Zabbix
Zabbix

配置监控服务

  • 部署被监控客户端
    • 为zabbixclient1与zabbixclient2 配置Zabbix agent软件
# zabbixclient1与zabbixclient2做相同操作, 这里以zabbixclient1为例
# 将Zabbix相关软件包拷给客户端
[aaa@qq.com ~]# cd Zabbix/
[aaa@qq.com Zabbix]# 
[aaa@qq.com Zabbix]# useradd -s /sbin/nologin zabbix 		# 创建用户
# 源码安装zabbix agent
[aaa@qq.com Zabbix]# yum -y install gcc pcre-devel 	
[aaa@qq.com Zabbix]# tar -zxf zabbix-3.4.4.tar.gz 
[aaa@qq.com Zabbix]# cd zabbix-3.4.4/
[aaa@qq.com zabbix-3.4.4]# ./configure --enable-agent 		# 只装agnent即可
[aaa@qq.com zabbix-3.4.4]# make && make install 				# 编译安装
[aaa@qq.com zabbix-3.4.4]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d 		# zabbix agentd配置文件
[aaa@qq.com zabbix-3.4.4]# ls /usr/local/bin/
eip  setip  zabbix_get  zabbix_sender 				# zabbix 命令
[aaa@qq.com zabbix-3.4.4]# ls /usr/local/sbin/
zabbix_agentd 					# zabbix agentd 命令
- 修改agent配置文件, 启动Agent
# zabbixclient1与zabbixclient2基本相同操作, 这里以zabbixclient1为例
[aaa@qq.com zabbix-3.4.4]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.2.5 			# 默认93行 定义谁可以监控本机(被动监控模式)
ServerActive=127.0.0.1,192.168.2.5 	# 默认134行  定义谁可以监控本机(主动监控模式)
Hostname=zabbixclient1 				# 默认145行  被监控端自己的主机名
EnableRemoteCommands=1 				# 默认69行且被注释  设为1 则监控异常后, 允许服务器远程过来执行命令, 如重启某个服务
UnsafeUserParameters=1 				# 默认280行且被注释 设为1 允许自定义key监控
[aaa@qq.com zabbix-3.4.4]# zabbix_agentd 			# 启动服务
[aaa@qq.com zabbix-3.4.4]# ss -ntulp | grep zabbix_agentd
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=30674,fd=4),....
- 拷贝启动脚本(非必须操作,可选做), 有启动脚本可以方便管理服务, 启动与关闭服务.(启动脚本位于zabbix源码目录下)
[aaa@qq.com zabbix-3.4.4]# cd misc/init.d/fedora/core
[aaa@qq.com core]# /etc/init.d/zabbix_agentd help
Usage: /etc/init.d/zabbix_agentd {start|stop|status|restart|help}

			start		- start zabbix_agentd
			stop		- stop zabbix_agentd
			status		- show current status of zabbix_agentd
			restart		- restart zabbix_agentd if running by sending a SIGHUP or start if not running
			help		- this screen

  • 配置监控服务端 : 192.168.2.5
    • 登录管理页面做如下配置 :
      • 1 . 添加监控主机
登录访问192.168.2.5   通过Configuration(配置)-->Hosts(主机)-->Create Host(创建主机)添加被监控Linux主机

Zabbix

接着进入创建被监控主机页面,
需要根据提示输入被监控Linux主机的主机名称(最好与电脑的主机名一致,但也允许不一致)、主机组、IP地址等参数

Zabbix
- 2 . 选择监控模板

Zabbix通过监控模板来对监控对象实施具体的监控功能,根据模板来定义需要监控哪些数据,
对于Linux服务器的监控,Zabbix已经内置了相关的模板(Template OS Linux),选择模板并链接到主机即可

Zabbix
- 3 . 查看监控数据

查看监控数据,登录Zabbix Web控制台,
点击Monitoring(监控中)> Latest data(最新数据),正过滤器中填写过滤条件,根据监控组和监控主机选择需要查看哪些监控数据

Zabbix

找到需要监控的数据后,可以点击后面的Graph查看监控图形

Zabbix

相关标签: 监控