Zabbix基础

监控的目的

  • 报告系统运行状况
    -每一部分必须同时监控
    -内容包括吞吐量、反应时间、使用率等
  • 提取发现问题
    -进行服务器性能调整前,知道调整什么
    -找出系统的瓶颈在什么地方

监控的资源类别

  • 公开数据
    -Web、FTP、SSH、数据库等应用服务
    -TCP或UDP端口
    -私有数据
    -CPU、内存、磁盘、网卡流量等使用信息
    -用户、进程等运行信息

系统监控命令

  • PS
  • ifconfig
  • df -h
  • traceroute
  • iostat
  • netstat或ss

自动化监控系统

  • Cacti
    -基于SNMP协议的监控软件,强大的绘图能力
  • Nagios
    -基于Agent监控,强大的状态检查与报警机制
    -插件极多,自己写监控脚本潜入到Nagios非常方便
  • Zabbix
    -基于多种监控机制,支持分布式监控

Zabbix简介

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

监控拓扑 在这里插入图片描述

  • 监控拓扑
  • 监控服务器
    -监控服务器可以通过SNMP或Agent采集数据
    -数据可以写入MySQL、Oracle等数据库中
    -服务器使用LNMP实现web前端的管理
  • 被监控主机
    -被监控主机需要安装Agent
    -常见的网络设备一般支持SNMP

部署LNMP

  • 监控服务器
    -设置主机名(Zabbix server)
    -设置IP地址(192.168.2.5)
    -关闭防火墙、SElinux

  • 监控客户端(2.100和2.200)
    -主机web1(192.168.2.100)
    -主机web2(192.168.2.200)
    -关闭防火墙、SElinux

  • 安装nginx及其依赖包

[root@zabbixserver ~]# yum -y install gcc pcre-devel  openssl-devel
[root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz
[root@zabbixserver ~]# cd nginx-1.12.2
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module
[root@zabbixserver nginx-1.12.2]# make && make install
[root@zabbixserver ~]# yum -y install php php-mysql \
> mariadb mariadb-devel mariadb-server
[root@zabbixserver ~]# yum -y  install  php-fpm-5.4.16-42.el7.x86_64.rpm
  • 修改nginx配置
[root@zabbixserver ~]# vim/usr/local/nginx/conf/nginx.conf

http{
... ...
		location~\.php${
		root html;
		fastcgi_pass 127.0.0.1:9000
		fastcgi_index index.php;
		include fastcgi.conf;
		}
  • 启动服务
[root@zabbixserver ~]# systemctl start  mariadb
[root@zabbixserver ~]# systemctl start  php-fpm
[root@zabbixserver ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
[root@zabbixserver ~]# nginx
[root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted
[root@zabbixserver ~]# setenforce 0
  • 测试页面
root@zabbixserver ~]# cat /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
[root@zabbixserver ~]# curl http://192.168.2.5/test.php

部署Zabbix

  • 安装源码Zabbix
[root@zabbixserver lnmp_soft]# yum -y install  net-snmp-devel \
> curl-devel 
//安装相关依赖包
[root@zabbixserver lnmp_soft]# yum -y install  \
> libevent-devel-2.0.21-4.el7.x86_64.rpm
[root@zabbixserver lnmp_soft]# tar -xf zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
[root@zabbixserver zabbix-3.4.4]# ./configure  --enable-server \
> --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \
> --with-net-snmp --with-libcurl
// --enable-server  //安装部署zabbix服务器端软件
// --enable-agent  //安装部署zabbix被监控端软件
// --enable-proxy  //安装部署zabbix代理相关软件
// --with-mysql    //配置mysql_config路径
// --with-net-snmp  //允许zabbix通过snmp协议监控其他设备
// --with-libcurl  //安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
[root@zabbixserver zabbix-3.4.4]# make && make install
[root@zabbixserver zabbix-3.4.4]#  ls /usr/local/etc/
[root@zabbixserver zabbix-3.4.4]#  ls /usr/local/bin/
[root@zabbixserver zabbix-3.4.4]#  ls /usr/local/sbin/

初始化准备

  • 创建数据库与数据库账户
[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8;
//创建数据库,支持中文字符集
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
//创建可以访问数据库的账户与密码
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
//刚刚创建是空数据库,zabbix源码包目录下,有提前准备好的数据
//使用mysql导入这些数据即可(注意导入顺序)
  • Zabbix页面
]# cd Zabbix-3.4.4/frontends/php
]# cp -a * /usr/local/nginx/html
]# chmod -R 777 /usr/local/nginx/html/*
  • 修改nginx配置
    ]# vim /usr/local/nginx/conf/nginx.conf
http{
... ... 
			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; //读取请求的超时时间
			}

]# /usr/local/nginx/sbin/nginx -s stop
]# /usr/local/nginx/sbin/nginx

  • 安装依赖软件
]# cd /root/
]# yum -y install php-gd php-xml php-ldap
]# yum-y install php-bcmath  php-mbstring
  • 修改PHP配置文件
]# vim /etc/php.ini
date.timezone=Asia/Shanghai   //设置时区
max_execution_time=300   //最大执行时间,秒
post_max_size=32M   //POST数据最大容量
max_input_time=300  //服务器接受数据的时间限制

]# systemctl restart php-fpm
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

启动服务

  • 修改配置文件
]# vim /usr/local/etc/zabbix_server.conf

DBHost=localhost //数据库主机
DBName=Zabbix //设置数据库名称
DBUser=Zabbix //设置数据库账户
DBPassword=Zabbix //设置数据库密码
LogFile=/tmp/zabbix_server.log //设置日志

  • 启动服务
]# useradd Zabbix  //不创建用户无法启动服务
]# Zabbix_server  //启动服务
]# ss -ntulp | grep :10051  //查看端口

### 关于 Zabbix 基础模板的中文资料或教程 #### Zabbix 基础模板概述 Zabbix 是一款功能强大的开源监控工具,其核心之一便是通过模板来实现对不同设备和服务的标准化监控。基础模板通常用于通用场景下的性能指标采集和告警设置。对于初学者来说,了解如何获取、翻译以及应用这些基础模板是非常重要的。 以下是针对 Zabbix 基础模板的相关内容: --- #### 获取 Zabbix 基础模板信息 可以通过官方文档或者社区资源下载所需的基础模板文件。具体操作可以参考以下流程: 1. **访问 Zabbix 官方网站**:从官网提供的模板库中查找适合需求的基础模板[^1]。 2. **利用社区贡献模板**:如果某些特定业务场景下没有现成的基础模板,则可考虑使用来自社区的支持模板项目[^2]。 --- #### 翻译 Zabbix 模板中的字段名 当遇到英文版本的基础模板时,可能需要将其本地化以便更好地理解各项参数含义。这一过程主要包括以下几个方面的工作: - 使用机器翻译工具初步转换描述文字; - 手动校正术语表达使其更贴合实际运维环境的需求。 完成上述步骤之后即可获得一份完整的汉化版基础模板供后续部署实施之用。 --- #### 导入与配置自定义/基础模板实例说明 为了使定制化的解决方案生效,在服务器端执行如下动作必不可少: 1. 准备好必要的脚本程序并分发给目标节点运行; ```bash # 设置权限及重启agent服务命令示例 chmod +s /bin/netstat systemctl restart zabbix-agent ``` 2. 创建新的模板对象及其内部组件(如 Items, Triggers 和 Graphs),其中 Key 的设定需匹配前面提到过的外部调用接口逻辑[^4]; 3. 绑定已有的物理资产记录至最新设计好的方案框架之下从而正式启用全套机制运作起来。 另外需要注意的是,部分特殊用途的数据收集方式可能会涉及到额外路径调整等问题,比如 MySQL 数据库连接配置文件位置变更情况就需要按照指定指南来进行相应修改处理[^5]。 --- #### Grafana 结合 Zabbix 展示效果优化建议 除了单纯依赖 Zabbix 自身界面外,还可以借助第三方可视化平台——Grafana 来进一步提升用户体验质量。先期准备工作包括确认相关插件状态正常可用等方面的内容[^3]: ```bash grafana-cli plugins list-remote | grep zabbix ``` 随后依据个人偏好布局图表样式最终达成理想呈现形式。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值