zabbix的安装以及监控一台服务器

zabbix监控

监控命令:uptime

uptime可以查看系统已经运行了多久。最后三个数字分别是cpu最近一分钟,五分钟,十五分钟的平均负载。平均负载的值不应该大于核心总数。

free -m                 //主要查看内存

swapon -s                    //查看虚拟内存空间(swap)

df -h                  //查看硬盘使用情况

ping -c2 www.baidu.com //测试网络

==============================

Zabbix

监控=数据采集

实时监控的几个方面:

数据采集:使用agent(可安装软件的系统上),SNMP(简单网络管理协议,用于网络设备数据的采集)

数据存储:使用MySQL数据库

数据展示:通过web页面

Zabbix是通过在远程主机上安装agent进行数据采集,存储到MySQL数据库,通过web页面进行展示的。

安装zabbix:

准备三台主机

一台监控两台web

首先关闭selinux和防火墙

保证yum源正常

配置nginx用于展示zabbix的web页面

安装nginx依赖包:gcc pcre-devel openssl-devel

安装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

 34     fastcgi_buffers 8 16k;     #缓存php生成的页面内容,8个16k

 35     fastcgi_buffer_size 32k;   #缓存php生产的头部信息,32k

 36     fastcgi_connect_timeout 300;  #连接PHP的超时时间,300秒

 37     fastcgi_send_timeout 300;     #发送请求的超时时间,300秒

 38     fastcgi_read_timeout 300;     #读取请求的超时时间,300秒

 70         location ~ \.php$ {

 71             root           html;

 72             fastcgi_pass   127.0.0.1:9000;

 73             fastcgi_index  index.php;

 74         #    fastcgi_param  SCRIPT_FILENAME  /script    s$fastcgi_script_name;

 75             include        fastcgi.conf;  # 注意改成fastcgi.conf

 76         }

# 6. 启动相关服务

[root@zabbixserver ~]# systemctl enable mariadb --now

[root@zabbixserver ~]# systemctl enable php-fpm --now

[root@zabbixserver ~]# ss -tlnp |grep :9000

LISTEN     0      128    127.0.0.1:9000

[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx

[root@zabbixserver ~]# ss -tlnp | grep :80

LISTEN     0      128          *: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服务

[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.sql  images.sql  schema.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文件

# service文件格式参考:https://www.cnblogs.com/gongxianjin/p/15673132.html

[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

LISTEN     0      128          *: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

LISTEN     0      128          *:10050

附:删库重导入

# 查看有哪些数据库

MariaDB [(none)]> show databases;

MariaDB [(none)]> drop database zabbix;

MariaDB [(none)]> create database zabbix default charset utf8;

MariaDB [(none)]> exit

[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 的管理是通过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上面红色报错,解决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 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

LISTEN     0      128          *:10050

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值