网站首页 > 精选教程 正文
前言
上篇文章中我们讲到了监控系统的分类和监控的重要性,因此监控系统无论在个人PC还是企业服务器环境中都起到了至关重要的作用,他不仅起到了故障定位排查的参考作用,更是起到了故障通知甚至故障自恢复的能力。
本实验可以供用户学习交流使用,通过本实验会一步步实现对zabbix监控认知加深,后续的架构也会一步步复杂完善,实现一个真正意义上的从单机到分布式监控,从被动监控到主动监控,从而实现从几台服务器到成百上千台服务器架构环境中的架构应用。
1、zabbix监控系统介绍
zabbix是什么呢?它是一款开源的、免费的、分布式的、企业级的监控系统,它基于GPL第二版通用公共协议发布,意味着他的代码可以随意分发和修改、学习。
zabbix监控系统是开源监控的优秀解决方案,在经历了10余年的逐步发展、普及、流行和壮大之后,目前已经广泛应用于中小型企业的业务、系统、网络等监控中,即便是很多的大型企业的监控系统也是在参考或者基于zabbix监控系统实现的二次开发产品。
zabbix能够监控什么?zabbix监控系统的强大之处令人咋舌,它的监控覆盖面极广,不仅可以实现对硬件、操作系统、应用程序、网络流量等一应的系统和程序、软件和硬件都可以完成相应的监控,只有你想不到没有他做不到的,强大之处令人感叹!
2、实验1:单机版zabbix系统部署
架构图:
所需组件:
- Zabbix server
- Zabbix agent
- Nginx+PHP
- MySQL5.5
注意:
- 所有硬件部署于单机centos7上,
2.1、准备
- Centos7服务器1台,安装组件Zabbix server、Zabbix agent、Nginx+PHP、MySQL5.5
2.2、部署
- 初始化一台Centos7服务器,可以基于VMware workstations 14安装centos7,如果有不会的同学,评论区回复。以下是一台初始化完成的Centos7服务器:
[root@zabbix-server ~]#uname -a
Linux zabbix-server 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- 关闭防火墙和Selinux
[root@zabbix-server ~]#sed -i.bak 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/sysconfig/selinux && setenforce 0
[root@zabbix-server ~]#systemctl stop firewalld && systemctl disable firewalld
[root@zabbix-server ~]#getenforce
Permissive
- 安装zabbix5.0的yum仓库,清理历史yum缓存并重新生成yum缓存,加速访问和查询速度。
- 安装zabbix server、zabbix agent组件
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum clean all && yum makecache fast
yum install zabbix-server-mysql zabbix-agent -y
- 验证相关程序包已经完成了安装;
[root@zabbix-server ~]#yum list installed|grep zabbix
fping.x86_64 3.16-1.el7 @zabbix-non-supported
zabbix-agent.x86_64 5.0.14-1.el7 @zabbix
zabbix-release.noarch 5.0-1.el7 installed
zabbix-server-mysql.x86_64 5.0.14-1.el7 @zabbix
- 查看相关软件包生成的文件
[root@zabbix-server ~]#rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent // 日志滚动配置文件
/etc/zabbix/zabbix_agentd.conf // 配置文件
/etc/zabbix/zabbix_agentd.d
/usr/lib/systemd/system/zabbix-agent.service // 启动agent守护进程的unit file文件
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-5.0.14
/usr/share/doc/zabbix-agent-5.0.14/AUTHORS
/usr/share/doc/zabbix-agent-5.0.14/COPYING
/usr/share/doc/zabbix-agent-5.0.14/ChangeLog
/usr/share/doc/zabbix-agent-5.0.14/NEWS
/usr/share/doc/zabbix-agent-5.0.14/README
/usr/share/doc/zabbix-agent-5.0.14/userparameter_mysql.conf
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix // 日志目录
/var/run/zabbix
- zabbix server安装包生成的文件
[root@zabbix-server ~]#rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.14
/usr/share/doc/zabbix-server-mysql-5.0.14/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.14/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.14/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.14/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.14/README
/usr/share/doc/zabbix-server-mysql-5.0.14/create.sql.gz
/usr/share/doc/zabbix-server-mysql-5.0.14/double.sql
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
- 安装zabbix前端,这个前端是用于在浏览器上查看zabbix server收集并展示的监控数据的。
# yum install centos-release-scl -y
# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
- 本地准备MySQL数据库,用户存储zabbix server采集以及聚合后的相关数据。这里基于yum安装,默认安装的是MySQL的姊妹版本mariadb 5.5版本。
- 安装完成后,启动服务并设置为开机自启
# yum install -y mariadb-server
# systemctl start mariadb
# systemctl enable mariadb
- 查看3306端口已经监听
[root@zabbix-server ~]#ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 50 *:3306 *:*
- 然后按照以下完成数据库的初始化
[root@zabbix-server ~]#mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password: 123456
Re-enter new password: 123456
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
- 创建数据库、用户、密码、授权;
[root@zabbix-server ~]#mysql -uroot -p'123456'
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> create user zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> Bye
- 将zabbix表结构导入到zabbix数据库中;
[root@zabbix-server ~]#zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'123456' zabbix
- 编辑zabbix server配置文件修改数据库的密码为上面设置的密码“123456”;
# vim /etc/zabbix/zabbix_server.conf
...
DBPassword=123456
...
- 编辑并修改web服务器Nginx的配置文件。这里我们使用80端口,server_name就使用本机的ip地址:`192.168.27.100`;
# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80;
server_name 192.168.27.100
- 修改php-fpm的配置文件:包含用户acl为apache和nginx,时区设置为Asia/Shanghai;
# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai
- 重启Nginx服务器、php-fpm服务、zabbix-agent,zabbix-server进程;
# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
- 查看所有服务的端口是否正常监听;
- Nginx: 80,php-fpm: 9000, mysql: 3306, zabbix-agent:10051,zabbix-server: 10050
[root@zabbix-server ~]#ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::10050 :::*
LISTEN 0 128 :::10051 :::*
- 接着在浏览器中访问Nginx的server_name;如果是ip就访问ip,如果是已经DNS解析的zabbix.XXX.com,就访问指定的域名,具体情况具体分析,我们这里访问ip地址。具体的访问路径是:http://192.168.27.100. 可以看到一下的web安装引导界面。
- 检查所有项处于OK状态后就可以继续点击下一步
- 输入密码"123456",下一步即可。
- Name随意填写即可
- 大功告成,安装完成。
- 然后就可以登录了。默认用户是Admin,密码是zabbix;
总结
到此为止,我们的实验1就完成了。本文完成了单机版zabbix server,zabbix agent监控组件的部署,并且完成了zabbix server主机状态的监控。
下一篇:我们讲一下zabbix server如何添加主机,完成模板链接,服务状态监控与查看、中文化实现。
后续安排:
- 完成对局域网内的其他服务器的监控。
- 部署一个Tomcat服务,并完成对Tomcat监控
- 完成对Redis服务器监控;
- 完成MySQL服务的相关监控;
- 如何从零自定义一个zabbix监控模板!!
- 从零实现一个zabbix告警:邮件告警、短信告警、钉钉告警!
- 如何编译安装zabbix server,zabbix agent,zabbix java gateway!
- 如何实现代理监控
- 如何实现主动监控
不失联后续文章进度,欢迎大家关注,不要错过更新。
猜你喜欢
- 2024-10-03 最新zabbix一键安装脚本(基于centos8)
- 2024-10-03 基于docker快速搭建zabbix 6.2监控平台
- 2024-10-03 Zabbix运维—监控php-fpm、redis服务
- 2024-10-03 「zabbix、docker」Docker部署Zabbix5.0
- 2024-10-03 Grafana之部署Zabbix数据源(第二篇)
- 2024-10-03 ngxtop:在命令行实时监控 Nginx 的神器
- 2024-10-03 Zabbix界面使用不习惯,试试开源zbxtable监控报表
- 2024-10-03 Linux Nginx网站服务——3 linux nginx部署web项目
- 2024-10-03 zabbix+grafana部署 grafana 配置文件
- 2024-10-03 手把手教你如何快速构建一个zabbix运维监控平台
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)