做的网站用户密码在哪里找,wordpress采集微博,网站kv如何做,品牌建设对企业的发展的作用一 监控概述
1 监控的目的
#xff08;1#xff09;报告系统运行状况
每一部分必须同时监控内容包括吞吐量、反应时间、使用率等
#xff08;2#xff09;提前发现问题
进行服务器性能调整前#xff0c;知道调整什么找出系统的瓶颈在什么地方
2 监控的资源类别
…一 监控概述
1 监控的目的
1报告系统运行状况
每一部分必须同时监控内容包括吞吐量、反应时间、使用率等
2提前发现问题
进行服务器性能调整前知道调整什么找出系统的瓶颈在什么地方
2 监控的资源类别
1公开数据
Web、FTP、SSH、数据库等应用服务TCP或UDP端口
2私有数据
CPU、内存、磁盘、网卡流量等使用信息用户、进程等运行信息
3 系统监控命令
# uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值不应该大于总核心数。
[rootmyhost ~]# uptime 09:28:25 up 53 days, 27 min, 0 users, load average: 0.09, 0.08, 0.03[rootmyhost ~]# free -h # 主要用于查看内存
[rootmyhost ~]# swapon -s # 查看swap空间
[rootmyhost ~]# df -h # 查看硬盘使用情况
[rootmyhost ~]# ping -c2 www.baidu.com # 发2个包测试网络
4 自动化监控系统 Cacti基于SNMP协议的监控软件强大的绘图能力Nagios 基于Agent监控强大的状态检查与报警机制 插件极多自己写监控脚本嵌入到Nagios非常方便 Zabbix基于多种监控机制支持分布式监控
二 Zabbix 基础
1 基本概念
1Zabbix简介
Zabbix是一个高度集成的监控解决方案可以实现企业级的开源分布式监控Zabbix通过C/S模式采集监控数据Zabbix通过B/S模式实现Web管理
2监控拓扑 监控服务器(需要使用Web页面操作因此需要先部署LNMP
监控服务器可以通过SNMP简单网络管理协议用于网络设备的数据采集或Agent可安装软件的系统上采集数据数据可以写入MySQL、Oracle等数据库中服务器使用LNMP实现web前端的管理
被监控主机
被监控主机需要安装Agent常见的网络设备一般支持SNMP
3安装zabbix 6.0
安装说明Download and install Zabbix中文手册Zabbix 文档
主机名地址zabbixserver192.168.88.5/24web1192.168.88.100/24web2192.168.88.200/24
# 准备3台主机。按上表配置主机名和IP地址
[rootmyhost ~]# vm clone zabbixserver web1 web2
安装zabbix
# 1. 拷贝zabbix软件包到pubserver
[rootzabbixserver ~]# scp /linux-soft/s2/zzg/zabbix_soft/*.rpm 192.168.88.240:/var/ftp/rpms
# 2. 更新yum仓库配置
[rootpubserver ~]# createrepo -v /var/ftp/rpms/
# 3. 在pubserver上创建ansible工作环境
[rootpubserver ~]# mkdir -p zabbix/files
[rootpubserver ~]# cd zabbix/
[rootpubserver zabbix]# vim ansible.cfg
[defaults]
inventory inventory
host_key_checking false[rootpubserver zabbix]# vim inventory
[zabbix]
zabbixserver ansible_host192.168.88.5[webservers]
web1 ansible_host192.168.88.100
web2 ansible_host192.168.88.200[all:vars]
ansible_ssh_userroot
ansible_ssh_passa# 4. 为各台主机配置yum
[rootpubserver zabbix]# vim files/local88.repo
[BaseOS]
name BaseOS
baseurl ftp://192.168.88.240/dvd/BaseOS
enabled 1
gpgcheck 0[AppStream]
name AppStream
baseurl ftp://192.168.88.240/dvd/AppStream
enabled 1
gpgcheck 0[rpms]
name rpms
baseurl ftp://192.168.88.240/rpms
enabled 1
gpgcheck 0[rootpubserver zabbix]# vim 01-upload-repo.yml
---
- name: config repos.dhosts: alltasks:- name: delete repos.dfile:path: /etc/yum.repos.dstate: absent- name: create repos.dfile:path: /etc/yum.repos.dstate: directorymode: 0755- name: upload local88copy:src: files/local88.repodest: /etc/yum.repos.d/
[rootpubserver zabbix]# ansible-playbook 01-upload-repo.yml # 5. 在zabbixserver上安装相应软件包
[rootpubserver zabbix]# vim 02-inst-zabbix.yml
---
- name: install zabbixhosts: zabbixtasks:- name: install zabbix # 安装软件包yum:name:- zabbix-server-mysql- zabbix-web-mysql- zabbix-nginx-conf- zabbix-sql-scripts- zabbix-selinux-policy- zabbix-agent- mysql-server- langpacks-zh_CNstate: present
[rootpubserver zabbix]# ansible-playbook 02-inst-zabbix.yml# 6. 启动mysqld服务
[rootpubserver zabbix]# vim 03-start-mysqld.yml
---
- name: config mysqldhosts: zabbixtasks:- name: start mysqld # 启动mysqld服务service:name: mysqldstate: startedenabled: yes
[rootpubserver zabbix]# ansible-playbook 03-start-mysqld.yml # 7. 在zabbix上创建连接数据库的用户
[rootzabbixserver ~]# mysql
mysql create database zabbix character set utf8mb4 collate utf8mb4_bin;
# 在binlog日志开启的情况下打开函数生成器
mysql set global log_bin_trust_function_creators 1;
mysql create user zabbixlocalhost identified by zabbix;
mysql grant all privileges on zabbix.* to zabbixlocalhost;
mysql quit;# 8. 验证数据库配置如果登陆不到数据库表示上一步配置不正确
[rootzabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix# 9. 在数据库中创建表并导入数据
[rootzabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz .
[rootzabbixserver ~]# gzip -d server.sql.gz
[rootzabbixserver ~]# mysql -uzabbix -pzabbix zabbix server.sql# 10. 配置zabbix_server
[rootzabbixserver ~]# vim 129 /etc/zabbix/zabbix_server.conf
DBPasswordzabbix# 11. 配置zabbix_agent
[rootzabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf
182 Hostnamezabbixserver# 12. 配置nginx展示zabbix
[rootzabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf
# 打开第2、3行的注释结果如下所示
server {listen 8080;server_name example.com;
...以下省略...# 13. 启动相关服务
[rootpubserver zabbix]# vim 04-start-zabbix.yml
---
- name: config zabbixhosts: zabbixtasks:- name: start service # 循环启动多个服务service:name: {{item}}state: startedenabled: yesloop:- zabbix-server- zabbix-agent- nginx- php-fpm
[rootpubserver zabbix]# ansible-playbook 04-start-zabbix.yml
4 初始化
访问zabbixserver的8080端口进行初始化 注意这里的用户名AdminA是大写的密码是小写的zabbix 此时zabbix已经开始在监控自己了查看默认监控配置 2 Zabbix监控服务
1配置被监控主机 在web1上安装agent
# 1. 安装agent
[rootpubserver zabbix]# vim 05-inst-agent.yml
---
- name: install agenthosts: webserverstasks:- name: install agent # 安装agentyum:name: zabbix-agentstate: present
[rootpubserver zabbix]# ansible-playbook 05-inst-agent.yml # 2. 修改web1配置文件
[rootweb1 ~]# vim /etc/zabbix/zabbix_agentd.conf
117 Server127.0.0.1,192.168.88.5
182 Hostnameweb1# 3. 起动服务
[rootpubserver zabbix]# vim 06-start-agent.yml
---
- name: config agenthosts: web1tasks:- name: start agent # 启动服务service:name: zabbix-agentstate: startedenabled: yes
[rootpubserver zabbix]# ansible-playbook 06-start-agent.yml
2添加监控主机 在web页面中添加对web1的监控
主机安装了agent被监控的主机主机组根据需求将多台主机加入到一个主机组中方便管理。系统默认已经创建了一些主机组。模板是监控项的集合。将模板应用到主机主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。 常用监控指标
Space utilization以百分比显示的磁盘利用率Used space已用磁盘空间Available memory可用内存CPU idle timeCPU空闲时间。不宜过低。Load average (1m avg)、Load average (5m avg)、Load average (15m avg)CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。Interface eth0: Bits received网卡接收到的数据量Interface eth0: Bits sent网卡发送的数据量Number of processes系统运行的进程数Number of logged in users已登陆的用户数
3 自定义监控项
实现监控web1用户数量的监控项
在被控端创建key。被控端被监控的内容叫作key可以理解为它就是一个变量名具体的名字自己决定。在web页面中创建监控项。监控项对应key值。 1自定义 Key 值 在被控端创建key
UserParameter自定义key值,命令
# 命令的执行结果是key的value
创建自定义配置文件。文件名自定义。
[rootweb1 ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.conf
UserParameterusercnt,sed -n $ /etc/passwd
[rootweb1 ~]# systemctl restart zabbix-agent.service
验证自定义监控项
# 1. 安装zabbix-get
[rootzabbixserver ~]# yum install -y zabbix-get
[rootweb1 ~]# yum install -y zabbix-get# 2. 获取监控项的值
[rootweb1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
46
[rootzabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt
46
2创建监控模板 3创建监控项 4应用模板到主机 5查看结果