笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述监控概述Zabbix基础Zabbix监控服相关的知识,希望能为你提供帮助。
zabixx
- 对服务的管理,不能仅限于可用性。
- 还需要服务可以安全、稳定、高效地运行。
- 监控的目的:早发现、早治疗。
- 被监控的资源类型:
- 公开数据:对外开放的,不需要认证即可获取的数据
- 私有数据:对外不开放,需要认证、权限才能获得的数据
# uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。
[root@zzgrhel8 ~]# uptime
09:28:25 up 53 days, 27 min,0 users,load average: 0.09, 0.08, 0.03[root@zzgrhel8 ~]# free -m# 主要用于查看内存
[root@zzgrhel8 ~]# swapon -s# 查看swap空间
[root@zzgrhel8 ~]# df -h# 查看硬盘使用情况
[root@zzgrhel8 ~]# ping -c2 www.baidu.com# 发2个包,测试网络
zabbix
- 实施监控的几个方面:
- 数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
- 数据存储:使用mysql数据库
- 数据展示:通过web页面
- zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。
- 中文手册:https://www.zabbix.com/documentation/3.4/zh/manual
主机名 | 地址 |
---|---|
zabbixserver | 192.168.4.5/24 |
web1 | 192.168.4.100/24 |
web2 | 192.168.4.200/24 |
# 准备3台主机。按上表配置主机名和IP地址- 安装zabbix```shell
# 1. 关闭SELINUX和防火墙# 2. 配置yum。# 3. 配置nginx,用于展示zabbix的web页面
# 3.1 安装nginx的依赖包
[root@zabbixserver ~]# yum install -y gcc pcre-devel openssl-devel
# 3.2 安装nginx
[root@zzgrhel8 ~]# scp /linux-soft/2/lnmp_soft.tar.gz 192.168.4.5:/root/
[root@zabbixserver ~]# tar xf lnmp_soft.tar.gz
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# tar xf nginx-1.12.2.tar.gz
[root@zabbixserver lnmp_soft]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module# 配置nginx支持https
[root@zabbixserver nginx-1.12.2]# make &
&
make install# 4. 配置nginx支持php。配置php可以连接mysql
[root@zabbixserver ~]# yum install -y php php-fpm php-mysql mariadb-server mariadb-devel# 5. 根据zabbix手册,修改nginx参数
[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
34fastcgi_buffers 8 16k;
#缓存php生成的页面内容,8个16k
35fastcgi_buffer_size 32k;
#缓存php生产的头部信息,32k
36fastcgi_connect_timeout 300;
#连接PHP的超时时间,300秒
37fastcgi_send_timeout 300;
#发送请求的超时时间,300秒
38fastcgi_read_timeout 300;
#读取请求的超时时间,300秒
70location ~ \\.php$
71roothtml;
72fastcgi_pass127.0.0.1:9000;
73fastcgi_indexindex.php;
74#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
75includefastcgi.conf;
# 注意改成fastcgi.conf
76# 6. 启动相关服务
[root@zabbixserver ~]# systemctl enable mariadb --now
[root@zabbixserver ~]# systemctl enable php-fpm --now
[root@zabbixserver ~]# ss -tlnp |grep :9000
LISTEN0128127.0.0.1:9000
[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx
[root@zabbixserver ~]# ss -tlnp | grep :80
LISTEN0128*:80
# 写入到rc.local中的命令,开机时自动执行
[root@zabbixserver ~]# echo /usr/local/nginx/sbin/nginx >
>
/etc/rc.d/rc.local
[root@zabbixserver ~]# chmod +x /etc/rc.d/rc.local# 7. 编译安装zabbix
# 7.1 安装zabbix的依赖包
[root@zabbixserver lnmp_soft]# yum install -y net-snmp-devel curl-devel autoconf libevent-devel
# 7.2 编译安装
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# ls zabbix-3.4.4.tar.gz
zabbix-3.4.4.tar.gz
[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-agent --with-mysql=/usr/bin/mysql_config--with-net-snmp --with-libcurl
# --enable-server: 安装服务器端
# --enable-agent: 安装被控端
# --with-mysql: 指定mysql数据库配置程序
# --with-net-snmp: 配置可以通过snmp收集数据
# --with-libcurl: 启用curl库,以便zabbix可以通过curl连接web服务
# --enable-proxy: 启动proxy代理,不必安装
[root@zabbixserver zabbix-3.4.4]# make &
&
make install
- 初始化
# 1. 创建zabbix存储数据的数据库。创建名为zabbix的数据库,使用的字符集是utf8
[root@zabbixserver ~]# mysql
MariaDB [(none)]>
create database zabbix default charset utf8;
# 2. 创建名为zabbix的用户,密码也是zabbix,可以对zabbix数据库拥有全部权限。zabbix@%格式是:zabbix@客户端地址
# 在mysql中,%表示0到多个任意字符
MariaDB [(none)]>
grant all on zabbix.* to zabbix@% identified by zabbix;
# 授权zabbix用户可以在本机登陆
MariaDB [(none)]>
grant all on zabbix.* to zabbix@localhost identified by zabbix;
MariaDB [(none)]>
exit# 3. 导入zabbix表结构,3个sql文件按顺序导入
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# ls
data.sqlimages.sqlschema.sql
# -u指定用户名,-p指定密码,第3个zabbix是数据库
[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 # 4. 配置zabbix_server服务
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
12 # ListenPort=10051# 不用改,了解端口号
38 LogFile=/tmp/zabbix_server.log# 不用改,日志文件位置
85 DBHost=localhost# 数据库服务器地址
95 DBName=zabbix# 不用改,数据库名
111 DBUser=zabbix# 不用改,连接数据库的用户
119 DBPassword=zabbix# 连接数据库的密码# 5. 创建用于运行zabbix的用户
# -s /sbin/nologin: 用户不能登陆系统
[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix# 6. 创建用于管理zabbix的service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=zabbix server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/tmp/zabbix_server.pid
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target# 7. 启动服务
# 新建service文件,一般需要执行systemctl daemon-reload,否则有可能识别不到
[root@zabbixserver ~]# systemctl daemon-reload
[root@zabbixserver ~]# systemctl enable zabbix_server.service
[root@zabbixserver ~]# systemctl start zabbix_server.service
[root@zabbixserver ~]# ss -tlnp | grep :10051
LISTEN0128*:10051# 8. 配置agent,自己被监控
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf
30 LogFile=/tmp/zabbix_agentd.log# 不用改,日志位置
93 Server=127.0.0.1,192.168.4.5# 指定接受哪些服务器监控
101 # ListenPort=10050# 不用改,指定端口号
134 ServerActive=127.0.0.1,192.168.4.5# 主动汇报信息给哪些服务器
145 Hostname=zabbixserver# 本机的主机名
280 UnsafeUserParameters=1# 允许用户自定义监控项# 9. 配置agent服务的service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agent
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/tmp/zabbix_agentd.pid
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target# 10. 启服务
[root@zabbixserver ~]# systemctl daemon-reload
[root@zabbixserver ~]# systemctl start zabbix_agentd.service
[root@zabbixserver ~]# systemctl enable zabbix_agentd.service
[root@zabbixserver ~]# ss -tlnp | grep :10050
LISTEN0128*:10050
- zabbix的管理是通过web页面进行的。通过web初始化zabbix
# 拷贝zabbix的web页面到nginx
[root@zabbixserver ~]# ls lnmp_soft/zabbix-3.4.4/frontends/
php
[root@zabbixserver ~]# cp -r lnmp_soft/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/# nginx运行期间,调用php-fpm服务,php-fpm需要向web目录中修改文件。php-fpm的运行用户是apache,所以apache用户需要对该目录有写权限
[root@zabbixserver ~]# chown -R apache:apache /usr/local/nginx/html/# 访问192.168.4.5/index.php,首次访问,将会自动跳转到安装页面:http://192.168.4.5/setup.php
文章图片
文章图片
- 根据上面红色报错,解决zabbix web依赖的内容
# 安装依赖的软件包
[root@zabbixserver ~]# yum install -y php-gd php-xml php-bcmath php-mbstring
# 修改php.ini文件
[root@zabbixserver ~]# vim /etc/php.ini
672 post_max_size = 16M
384 max_execution_time = 300
394 max_input_time = 300
878 date.timezone = Asia/Shanghai
[root@zabbixserver ~]# systemctl restart php-fpm
# 刷新web页
【监控概述Zabbix基础Zabbix监控服】
文章图片
文章图片
连接数据库的密码,也是zabbix。
文章图片
文章图片
文章图片
文章图片
默认的登陆用户是admin,密码是zabbix。
配置zabbix
- 修改语言
文章图片
文章图片
文章图片
- 启用监控自身
文章图片
文章图片
# 监控端(zabbix server)和被控端使用的软件是同一个,只是启用不同的功能
[root@zabbixserver ~]# scp lnmp_soft/zabbix-3.4.4.tar.gz 192.168.4.100:/root# 安装编译agent需要的依赖环境
[root@web1 ~]# yum install -y gcc pcre-devel autoconf# 编译agent
[root@web1 ~]# tar xf zabbix-3.4.4.tar.gz
[root@web1 ~]# cd zabbix-3.4.4/
[root@web1 zabbix-3.4.4]# ./configure --enable-agent
[root@web1 zabbix-3.4.4]# make &
&
make install# 修改配置文件
[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
30 LogFile=/tmp/zabbix_agentd.log# 日志位置,不用改
69 EnableRemoteCommands=1# 允许监控端远程执行命令
93 Server=127.0.0.1,192.168.4.5# 允许自己和监控端进行数据采集
134 ServerActive=127.0.0.1,192.168.4.5# 允许自己和监控端主动监控
145 Hostname=web1# 自己的主机名
280 UnsafeUserParameters=1# 允许用户自定义监控项# 配置服务
[root@zabbixserver ~]# scp /usr/lib/systemd/system/zabbix_agentd.service 192.168.4.100:/usr/lib/systemd/system/
[root@web1 ~]# useradd -s /sbin/nologin zabbix
[root@web1 ~]# systemctl daemon-reload
[root@web1 ~]# systemctl start zabbix_agentd.service
[root@web1 ~]# systemctl enable zabbix_agentd.service
[root@web1 ~]# ss -tlnp | grep :10050
LISTEN0128*:10050
推荐阅读
- Docker下的Spring Cloud三部曲之一(极速体验)
- mq从零开始实现 mq-05-实现优雅停机
- LINUX 环境下安装配置JDK详解
- 为什么不建议给MySQL设置Null值(《死磕MySQL系列 十八》)
- k8s部署-52-k8s之Prometheus(普罗米修斯)监控,简单梳理下K8S监控流程
- 呵呵,JavaScript 真好玩(苦笑脸)
- 公司官网建站笔记(腾讯云服务器装CentOS8.2系统重置密码远程ssh登陆sftp传递文件以及新建开发者账户)
- # yyds干货盘点 # 盘点对Python列表中每个元素前面连续重复次数的数列统计
- 高可用之故障演练