网站建设项目采购合同,wordpress架设,苏州的互联网企业,凡客诚品购物流程设计1. Zabbix 监控系统入门简介 Zabbix 是一个基于 WEB 界面的提供分布式系统监控的企业级的开源解决方案#xff0c;Zabbix 能监视各种网络参数#xff0c;保证服务器系统的安全稳定的运行#xff0c;并提供灵活的通知机制以让 SA 快速定位并解决存在的各种问题。Zabbix 分布式…1. Zabbix 监控系统入门简介 Zabbix 是一个基于 WEB 界面的提供分布式系统监控的企业级的开源解决方案Zabbix 能监视各种网络参数保证服务器系统的安全稳定的运行并提供灵活的通知机制以让 SA 快速定位并解决存在的各种问题。Zabbix 分布式监控系统的优点如下 支持自动发现服务器和网络设备支持底层自动发现分布式的监控体系和集中式的 WEB 管理支持主动监控和被动监控模式服务器端支持多种操作系统Linux、Solaris、HP-UX、AIX、FreeBSD、OpenBSD、MAC 等Agent 客户端支持多种操作系统Linux、Solaris、HP-UX、AIX、FreeBSD、Windows 等;基于 SNMP、IPMI 接口方式、Agent 方式;安全的用户认证及权限配置基于 WEB 的管理方法支持自由的自定义事件和邮件、短信发送高水平的业务视图监控资源支持日志审计资产管理等功能支持高水平 API 二次开发、脚本监控、自 Key 定义、自动化运维整合调用。
2. Zabbix 监控组件及流程
Zabbix 监控组件如图所示主要由五大组件分别是 Zabbix server端、Zabbix Proxy、Agent 客户端其中 Zabbix Server 端包括WEB GUI、Database、Zabbix_Server。 Zabbix 监控系统具体监控系统流程如图所示 Zabbix 监控完整流程包括Agentd 安装在被监控的主机上Agent 负责定期收集客户端本地各项数据并发送到 Zabbix Server 端Zabbix Server 收到数据将数据存储到数据库中用户基于 Zabbix WEB 可以看到数据在前端展现图像。 当 Zabbix 监控某个具体的项目该项目会设置一个触发器阀值当被监控的指标超过该触发器设定的阀值会进行一些必要的动作动作包括邮件、微信报警或者执行命令等操作。如下为 Zabbix 完整监控系统各个部分负责的工作 Zabbix Server负责接收 agent 发送的报告信息的核心组件所有配置统计数据及操作数据均由其组织进行Database Storage专用于存储所有配置信息以及存储由 Zabbix 收集到的数据Web interfaceZabbix 的 GUI 接口通常与 Server 运行在同一台主机上Proxy常用于分布监控环境中代理 Server 收集部分被监控端的监控数据并统一发往 Server 端Zabbix Agent部署在被监控主机上负责收集本地数据并发往 Server端或 Proxy 端 Zabbix 监控部署在系统中会包含常见的四个程序zabbix_server 、zabbix_get、zabbix_agentd 、zabbix_proxy、zabbix_sender 等。四个程序启动后分别对应四个进程如下为每个进程的功能 Zabbix_serverZabbix 服务端守护进程其中 zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终均是提交给Zabbix_ServerZabbix_Agentd客户端守护进程负责收集客户端数据例如收集 cpu负载、内存、硬盘使用情况等Zabbix_getZabbix 数据获取工具单独使用的命令通常在 server或者 proxy 端执行获取远程客户端信息的命令Zabbix_senderzabbix 数据发送工具用于发送数据给 server 或者proxy通常用于耗时比较长的检查。很多检查非常耗时间导致 zabbix超时。于是我们在脚本执行完毕之后使用 sender 主动提交数据Zabbix_proxyzabbix 分布式代理守护进程分布式监控架构需要部署 Zabbix_Proxy。
3. Zabbix 监控方式及数据采集 Zabbix 分布式监控系统监控客户端的方式常见有三种分别是 Agent 方式、SNMP、IPMI 方式三种方式特点如下 AgentZabbix 可以基于自身 Zabbix_agent 客户端插件监控 OS 的状态例如 CPU、内存、硬盘、网卡、文件等SNMPZabbix 可以通过简单网络管理协议Simple Network Management ProtocolSNMP)协议监控网络设备或者 windows 主机等通过设定 SNMP 的参数将相关监控数据传送至服务器端交换机、防火墙等网络设备一般都支持 SNMP 协议IPMI智能平台管理接口Intelligent Platform Management InterfaceIPMI即主要应用于设备的物理特性包括温度、电压、电扇工作状态、电源供应以及机箱入侵等。IPMI 最大的优势在于无论OS 在开机还是关机的状态下只要接通电源就可以实现对服务器的监控 Zabbix 监控客户端分为主动监控与被动监控主被动模式以客户端为参照Zabbix 监控客户端默认为被动模式可以修改为主动模式只需要在客户端配置文件中添加。可以关闭被动模式的方法在配置文件中加入 StartAgents0即为关闭被动模式。主被动监控模式区别如下 Zabbix 主动模式Agent 主动请求 server 获取主动的监控项列表并主动将监控项内需要检测的数据提交给 server/proxyzabbix agent首先向 ServerActive 配置的 IP 请求获取 active items获取并提交active tiems 数据值 server 或者 proxyZabbix 被动模式Server 向 agent 请求获取监控项的数据agent 返回数据Server打开一个TCP连接Server发送请求agent.pingAgent接收到请求并且响应Server 处理接收到的数据。
4. Zabbix 监控平台概念
Zabbix 监控系统包括很多监控概念掌握 Zabbix 监控概念能对 Zabbix 监控快速的理解如下为 Zabbix 常用术语及解。
常用术语解释主机host被监控的网络设备可以写 IP 或者 DNS主机组host group)主机组用于管理主机可以批量设置权限监控项item具体监控项items 值由独立的 keys 进行识别触发器trigger为某个 items 设置触发器达到触发器会执行action 动作事件event例如达到某个触发器称之为一个事件动作action对于特定事件事先定义的处理方法默认可以发送信息及发送命令报警升级escalation发送警报或执行远程命令的自定义方案如隔 5分钟发送一次警报共发送 5 次等媒介media发送通知的方式可以支持 Mail、SMS、Scripts等通知notification通过设置的媒介向用户发送的有关某事件的信息远程命令达到触发器可以在被监控端执行命令模板template可以快速监控被监控端模块包含item、trigger、graph、screen、applicationweb 场景web scennario用于检测 web 站点可用性监控 HTTP 关键词web 前端frontendZabbix 的 web 接口图形graph监控图像屏幕screens屏幕显示幻灯slide show幻灯显示
5. Zabbix6.0 监控平台部署
IP地址服务192.168.10.10nginx、php-fpm、mysql、zabbix-server192.168.10.20zabbix-agent
5.1. 关闭防火墙
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service5.2. 部署 Nginx PHP 环境并测试
#安装nginx
cat /etc/yum.repos.d/nginx.repo EOF
[nginx-stable]
namenginx stable repo
baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck1
enabled1
gpgkeyhttps://nginx.org/keys/nginx_signing.key
module_hotfixestrue[nginx-mainline]
namenginx mainline repo
baseurlhttp://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck1
enabled0
gpgkeyhttps://nginx.org/keys/nginx_signing.key
module_hotfixestrue
EOFyum -y install nginx#安装 php
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath#修改nginx配置文件
rm -rf /etc/nginx/conf.d/default.conf
vim /etc/nginx/conf.d/zabbix.confserver {listen 80;server_name sxy.zabbix.com;root /usr/share/nginx/html;location / {index index.php index.html index.htm;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}#修改 php 配置
vim /etc/php-fpm.d/www.conf
user nginx
group nginx
listen 0.0.0.0:9000vim /etc/php.ini
max_execution_time 300
max_input_time 600
post_max_size 80M
date.timezone Asia/Shanghai #创建测试文件,启动服务
vim /usr/share/nginx/html/index.php
?php
phpinfo();
?
systemctl start nginx php-fpm5.2.1. 测试访问
修改C:\Windows\System32\drivers\etc\hosts添加以下内容192.168.10.10 sxy.zabbix.com打开浏览器访问http://sxy.zabbix.com/index.php 5.3. 安装数据库并配置
#安装mysql
yum -y install https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql-community-server
#启动mysql
systemctl start mysqld
#查询mysql的默认密码为ueFgj11,k1l
grep pass /var/log/mysqld.log
2024-04-08T08:30:06.031992Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: ueFgj11,k1l
#修改密码和密码策略
mysql -uroot -p ---回车后输入ueFgj11,k1l
#修改密码
alter user rootlocalhost identified by 123456Qaz.;
#修改密码策略
vim /etc/my.cnf
添加以下内容
validate_password.policy0
validate_password.length4
#重启mysql
systemctl restart mysqld
#创建用户和数据库并授权
create database zabbix charset utf8;
create user zabbixlocalhost identified with mysql_native_password by zabbix;
grant all on zabbix.* to zabbixlocalhost;
5.4. 安装 Zabbix 相关软件包
#下载zabbix6.0源码包
cd /data
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.28.tar.gz
tar -xf zabbix-6.0.28.tar.gz
#安装依赖包
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c make
#创建用户
useradd -s /sbin/nologin -M zabbix
#编译安装
cd /data/zabbix-6.0.28/
./configure --prefix/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/#导入zabbix初始数据mysql -uroot -p123456Qaz. zabbix /data/zabbix-6.0.28/database/mysql/schema.sql
mysql -uroot -p123456Qaz. zabbix /data/zabbix-6.0.28/database/mysql/images.sql
mysql -uroot -p123456Qaz. zabbix /data/zabbix-6.0.28/database/mysql/data.sql#修改配置文件指定数据库
cp -rp /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf.bak
vim /usr/local/zabbix/etc/zabbix_server.conf DBHostlocalhostDBNamezabbixDBUserzabbixDBPasswordzabbix#准备 systemctl 服务管理文件cat /usr/lib/systemd/system/zabbix-server.service EOF
[Unit]
DescriptionZabbix Server with MySQL DB
Aftersyslog.target network.target mysqld.service[Service]
Typesimple
ExecStart/usr/local/zabbix/sbin/zabbix_server -f
Userzabbix[Install]
WantedBymulti-user.target
EOF#启动zabbix_server服务
systemctl start zabbix-server.service
#查询是否启动成功
netstat -ntlp | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1669/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 1669/zabbix_server5.5. 迁移zabbix的前端代码至/usr/share/nginx/html
#删除测试文件
rm -rf /usr/share/nginx/html/*
#把zabbix前端代码移到/usr/share/nginx/html/
mv /data/zabbix-6.0.28/ui/* /usr/share/nginx/html/
#修改前端代码所属组所属主
chown -R nginx. /usr/share/nginx/html/
#重启nginx
systemctl restart nginx5.6. 打开浏览器访问sxy.zabbix.com 解决zabbix显示图像下边文字乱码情况
cd /usr/share/nginx/html/assets/fonts/
备份默认语言
mv DejaVuSans.ttf DejaVuSans.ttf.bak
上传新的语言
进入windows C:\Windows\Fonts目录下下载自己想要的语言传到服务器上并改成系统默认语言的名字mv SIMSUN.TTC DejaVuSans.ttf6. 添加监控主机
#安装zabbix-agent
yum -y install zabbix6.0-agent.x86_64
#修改配置文件
vim /etc/zabbix_agentd.conf
server192.168.10.10 #指定了Zabbix代理将要与之通信的Zabbix服务器的主机名或IP地址
ServerActive192.168.10.10 #它用于主动模式下即Zabbix代理会主动向Zabbix服务器发送数据
Hostname10.20 #Hostname的设置则帮助Zabbix服务器识别来自哪个设备的监控数据#启动服务
systemctl start zabbix-agent.service7. 快速入门
7.1. 登录和配置用户
7.1.1. 登录 这是Zabbix的“欢迎”界面。输入用户名 Admin 以及密码 zabbix 以作为 Zabbix超级用户登录。将授予访问配置和管理菜单的权限
7.1.2. 防止暴力破解
为了防止暴力破解和词典攻击如果发生连续五次尝试登录失败Zabbix界面将暂停30秒。在下次成功登录后将会在界面上尝试登录失败的IP地址。
7.1.3. 创建用户
可以在管理 → 用户 下查看用户信息 点击 创建用户添加一个新用户 在创建的用户表单中请确保将你的用户添加到现有的 用户组, 例如 ‘Zabbix administrators’. 权限选项卡有一个必填字段角色。该角色决定用户可以查看哪些前端元素以及允许用户执行哪些操作。点击选择然后从列表中选择一个角色。例如选择Admin role以允许访问除管理之外的所有Zabbix前端部分。稍后你可以修改权限或创建更多用户角色。选择角色后权限将显示在同一选项卡中
7.2. 新建主机
Zabbix中的主机是一个你想要监控的网络实体物理的或者虚拟的。Zabbix中对于主机的定义非常灵活。它可以是一台物理服务器一个网络交换机一个虚拟机或者某些应用程序。
7.2.1. 添加主机
Zabbix中可以通过配置 → 主机或者监测 → 主机查看已配置的主机信息。默认已有一个名为’Zabbix server’的预先定义好的主机。但我们需要学习如何添加另一个。点击创建主机来新增一台主机。将会展示出一个主机配置表。 其他操作可以查询我的zabbix40的相关文档里面有自定义监控项等操作这里就不掩饰了基本操作一样。