云计算学习100天-第33天 -zabbix监控1
最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。[root@pubserver ~]# ansible-config init#根据提示查看配置
SourceURL:file:///home/student/Documents/zabbix.doc
监控概述
对服务的管理,不能仅限于可用性。
还需要服务可以安全、稳定、高效地运行。
监控的目的:早发现、早治疗。
被监控的资源类型:
公开数据:对外开放的,不需要认证即可获取的数据
私有数据:对外不开放,需要认证、权限才能获得的数据
常用监控命令
uptime # uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。
free -h # 主要用于查看内存
swapon -s # 查看swap空间
df -h # 查看硬盘使用情况
ping -c2 www.baidu.com # 发2个包,测试网络
常用的综合性能监控平台
Netdata
轻量级可视化工具,实时展示CPU、内存、网络等指标
支持Web界面和移动端访问,默认端口19999
Zabbix
企业级监控系统,支持网络设备、服务器、服务状态告警
提供分布式监控和自定义模板
Prometheus + Grafana·
时间序列数据库+可视化组合,适合长期性能分析
需配合node_exporter采集主机指标
Zabbix介绍
实施监控的几个方面:
数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
数据存储:使用mysql数据库
数据展示:通过web页面
zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。
网络架构
主机名 |
地址 |
角色 |
配置 |
zabbixserver |
192.168.88.5/24 |
zabbix服务器 |
2CPU 4G内存 |
web1 |
192.168.88.100/24 |
被控节点 |
2CPU 1G内存 |
web2 |
192.168.88.200/24 |
被控节点 |
2CPU 1G内存 |
pubserver |
192.168.88.240 |
ansible主机 |
2CPU 4G内存 |
Zabbix服务器基本搭建
一、准备4台虚拟主机
vm clone zabbixserver web1 web2 pubserver
vm setip zabbixserver 192.168.88.5
vm setip web1 192.168.88.100
vm setip web2 192.168.88.200
vm setip pubserver 192.168.88.240
二、ansible服务器配置
1、安装ftp
#安装vsftpd软件
[root@pubserver ~]# yum -y install vsftpd
#编辑vsftpd配置启用匿名用户访问
[root@pubserver ~]# vim /etc/vsftpd/vsftpd.conf
12: anonymous_enable=YES
#加入开机自启并立即启动
[root@pubserver ~]# systemctl enable --now vsftpd
#确认21端口被监听
[root@pubserver ~]# ss -antlp | grep 21
#创建ISO文件挂载目录
[root@pubserver ~]# mkdir /var/ftp/dvd
#编辑fstab文件实现开机自动挂载
[root@pubserver ~]# vim /etc/fstab
...
/dev/cdrom /var/ftp/dvd/ iso9660 defaults 0 0
#设置自动挂载
[root@pubserver ~]# mount -a
2、配置Yam源
#修改local.repo文件使用本机
[root@pubserver ~]# vim /etc/yum.repos.d/local.repo
[local_BaseOS]
name=Rocky Linux $releasever - BaseOS
baseurl="ftp://192.168.88.240/dvd/BaseOS"
enabled=1
gpgcheck=0
[local_AppStream]
name=Rocky Linux $releasever - AppStream
baseurl="ftp://192.168.88.240/dvd/AppStream"
enabled=1
gpgcheck=0
#确认本机网络yum源可用
[root@pubserver ~]# yum clean all; yum repoinfo
3、配置自定义yum源
# 创建rpm包存放目录
[root@pubserver ~]# mkdir /var/ftp/rpms
# 上传Ansible相关软件到pubserver主机
[root@server1 ~]# scp /linux-soft/s2/zzg/ansible_soft/* root@192.168.88.240:/var/ftp/rpms/
#安装createrepo命令包
[root@pubserver ~]# yum -y install createrepo_c
#创建软件仓库信息
[root@pubserver ~]# createrepo /var/ftp/rpms/ [root@pubserver ~]# ls /var/ftp/rpms/
ansible-6.3.0-1.el8.noarch.rpm
ansible-core-2.13.3-1.el8.x86_64.rpm
cowsay-3.04-16.el8.noarch.rpm
repodata #确保有该目录
# 配置自定义yum源
[root@pubserver ~]# vim /etc/yum.repos.d/local.repo
#增加自定义yum源配置,在文件最后追加
...
[ansible-rpms]
name=ansible-rpms
baseurl="ftp://192.168.88.240/rpms"
enabled=1
gpgcheck=0
[root@pubserver ~]# yum clean all; yum repoinfo
# 同步repo文件到所有被控节点
[root@pubserver ~]# scp /etc/yum.repos.d/local.repo root@192.168.88.5:/etc/yum.repos.d/
[root@pubserver ~]# scp /etc/yum.repos.d/local.repo root@192.168.88.100:/etc/yum.repos.d/
[root@pubserver ~]# scp /etc/yum.repos.d/local.repo root@192.168.88.200:/etc/yum.repos.d/
4、安装ansible软件
[root@pubserver ~]# yum -y install ansible
#确认ansible命令可用
[root@pubserver ~]# ansible --version
5、配置主机名解析
#编辑hosts文件配置主机名解析
[root@pubserver ~]# vim /etc/hosts
192.168.88.240 pubserver
192.168.88.100 web1
192.168.88.200 web2
192.168.88.5 zabbixserver
#测试hosts文件配置
[root@pubserver ~]# for i in pubserver web1 web2 zabbixserver
do
ping -c 2 $i
done
6、配置免密登录被控节点
#非交互生成秘钥对
[root@pubserver ~]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''
#发送公钥到被控节点
[root@pubserver ~]# for i in web1 web2 zabbixserver
do
ssh-copy-id root@$i
done
#确认免密登录
[root@pubserver ~]# for i in web1 web2 zabbixserver
do
ssh root@$i "hostname"
done
7、被控节点Ansible管理环境配置
#查看默认配置,通常不用该文件
[root@pubserver ~]# cat /etc/ansible/ansible.cfg
[root@pubserver ~]# ansible-config init #根据提示查看配置条目
# 自定义Ansible工作目录,名称自定义
[root@pubserver ~]# mkdir -p zabbix/files
#进入工作目录,以后关于ansible操作均在此目录下进行
[root@pubserver ~]# cd zabbix/
#编辑配置文件
[root@pubserver ansible]# vim ansible.cfg
[defaults] #通用配置
inventory = inventory #主机清单列表文件
host_key_checking = false #不检查主机秘钥,=两边有无空格均可
#编辑主机清单列表文件
[root@pubserver ansible]# vim inventory
[webservers] #定义主机组,名称自定义
web1 ansible_host=192.168.88.100
web2 ansible_host=192.168.88.200
[zabbix]
zabbixserver ansible_host=192.168.88.5
[all:vars]
ansible_ssh_user=root
ansible_ssh_pass=a
## 确认配置结果,查看所有被控主机列表
[root@pubserver ansible]# ansible all --list-hosts
#查看webservers组主机列表
[root@pubserver ansible]# ansible webservers --list-hosts
更多推荐
所有评论(0)