监控服务器的搭建

我们为什么要搭建监控服务器,搭建监控服务器的好处
监控服务器可以替我们监视系统的运行状况,暴恐数据的吞吐量,反应时间,使用率等等,减少人工参与.监控能够提前发现问题,对服务器的性能进行调整,知道系统哪里出现问题,及时解决,减少损失.

监控的资源
监控可以监控的资源类别分为公开数据和私有数据
公开数据包括-Web, FTP , SSH , 数据库等应用服务,通过TCP或UDP端口链接
私有数据CPU, 内存, 磁盘, 网卡流量等使用情况,用户, 进程等运行信息

监控软件
Cacti 基于snmp协议的监控软件,具有强大的绘图能力
Nagios 基于agent监控,强大的状态检查与报警机制,插件极多,自己写监控监本潜入到Nagios非常方便
Zabbix 基于多种监控机制,支持分布式监控

常用的额系统监控命令
ps 查看端口
ifconfig 查看网卡信息
uptime 查看系统使用及运行时间
netstat或者ss 查看端口或进程
free 内存
ping 检查网络
swapon -s 检查系统磁盘
traceroute 检查网络链接信息
df -h 检查分区磁盘信息
iostat 分析IO

我们今天使用Zabbix软件实现对服务器的监控
Zabbix是一个高度集成的监控解决方案
可以实现企业级的开源分布式监控
Zabbix通过C/S模式采集监控数据
Zabbix通过B/S模式实现Web管理

我们实现Zabbix监控需要监控通过SNMP或Agent采集数据
数据可以写入mysql或oracle等数据库中
使用nginx实现web的管理
被监控的主机需要安装Agent

一丶部署lnmp

1.安装nginx

首先安装nginx的依赖包
pcre-devel zlib-devel openssl-devel

[root@zabbix ~]# yum -y install gcc  pcre-devel zlib-devel openssl-devel

源码安装nginx
支持加密http

[root@zabbix Zabbix]# tar -xf nginx-1.12.2.tar.gz 
[root@zabbix Zabbix]# cd nginx-1.12.2/
[root@zabbix nginx-1.12.2]# ./configure --with-http_ssl_module
[root@zabbix nginx-1.12.2]# make
[root@zabbix nginx-1.12.2]# make install

2.安装php以及数据库

[root@zabbix nginx-1.12.2]# yum -y install php  php-mysql  
[root@zabbix nginx-1.12.2]# yum -y install mariadb mariadn-devel mariadb-server
[root@zabbix nginx-1.12.2]# yum -y install php  php-mysql  

3.修改nginx配置

修改nginx配置,使nginx支持php功能
在配置文件65-71行有模板

[root@zabbix nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }

4.启动服务并对php页面进行测试

启动服务

[root@zabbix nginx-1.12.2]# systemctl start mariadb
[root@zabbix nginx-1.12.2]# systemctl start php-fpm
[root@zabbix nginx-1.12.2]# /usr/local/nginx/sbin/nginx 

进行测试

首先在nginx的页面目录下建里一个文件
[root@zabbix nginx-1.12.2]# vim /usr/local/nginx/html/test.php


[root@zabbix nginx-1.12.2]# curl http://localhost/test.php
555
[root@zabbix nginx-1.12.2]# 

二丶安装Zabbix

1.源码安装Zabbix

安装依赖

[root@zabbix nginx-1.12.2]# yum -y install net-snmp-devel  curl-devel libevent-devel

源码安装Zabbix
我们安装之前要建立一个zabbix用户,用于启动zabbix服务

[root@zabbix nginx-1.12.2]# useradd zabbix
[root@zabbix nginx-1.12.2]# cd ..
[root@zabbix Zabbix]# tar -xf zabbix-3.4.4.tar.gz 
[root@zabbix Zabbix]# cd  zabbix-3.4.4/
[root@zabbix zabbix-3.4.4]# ./configure --enable-server  --enable-proxy  --enable-agent   --with-mysql=/usr/bin/mysql_config  --with-net-snmp  --with-libcurl
[root@zabbix zabbix-3.4.4]# make install

关于zabbix的应用程序

[root@zabbix zabbix-3.4.4]# ls /usr/local/etc/
zabbix_agentd.conf    zabbix_proxy.conf    zabbix_server.conf
zabbix_agentd.conf.d  zabbix_proxy.conf.d  zabbix_server.conf.d
[root@zabbix zabbix-3.4.4]# ls /usr/local/bin/
eip  setip  zabbix_get  zabbix_sender
[root@zabbix zabbix-3.4.4]# ls /usr/local/sbin/
zabbix_agentd  zabbix_proxy  zabbix_server
[root@zabbix zabbix-3.4.4]# 

2.初始化准备

2.1创建数据库与授权用户

创建zabbix库,zabbix用户,密码是zabbix

[root@zabbix zabbix-3.4.4]# mysql
MariaDB [(none)]> create database zabbix  character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on zabbix.* to zabbix@"localhost" identified by 'zabbix'
    -> ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

2.2存入数据

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql 
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql 
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql 

2.3上线zabbix页面

进入/root/Zabbix/zabbix-3.4.4/frontends/php目录
把目录下的东西专一到nginx的页面目录下,并给予权限

[root@zabbix zabbix-3.4.4]# cd frontends/php/
[root@zabbix php]# ls
actionconf.php                 favicon.ico                  popup_trexpr.php
adm.gui.php                    fonts                        profile.php
adm.housekeeper.php            graphs.php                   queue.php
adm.iconmapping.php            history.php                  report2.php
adm.images.php                 host_discovery.php           report4.php
adm.macros.php                 hostgroups.php               robots.txt
adm.other.php                  hostinventoriesoverview.php  screenconf.php
adm.regexps.php                hostinventories.php          screenedit.php
adm.triggerdisplayoptions.php  host_prototypes.php          screen.import.php
adm.triggerseverities.php      host_screen.php              screens.php
adm.valuemapping.php           hosts.php                    scripts_exec.php
adm.workingtime.php            httpconf.php                 search.php
api_jsonrpc.php                httpdetails.php              services.php
app                            image.php                    setup.php
applications.php               images                       slideconf.php
audio                          img                          slides.php
auditacts.php                  imgstore.php                 srv_status.php
auditlogs.php                  include                      styles
authentication.php             index.php                    sysmap.php
browserwarning.php             items.php                    sysmaps.php
chart2.php                     js                           templates.php
chart3.php                     jsLoader.php                 toptriggers.php
chart4.php                     jsrpc.php                    tr_comments.php
chart5.php                     latest.php                   tr_events.php
chart6.php                     local                        trigger_prototypes.php
chart7.php                     locale                       triggers.php
chart.php                      maintenance.php              tr_logform.php
charts.php                     map.import.php               tr_status.php
conf                           map.php                      tr_testexpr.php
conf.import.php                overview.php                 usergrps.php
correlation.php                popup_httpstep.php           users.php
discoveryconf.php              popup_media.php              zabbix.php
disc_prototypes.php            popup.php
[root@zabbix php]# cp -a * /usr/local/nginx/html/
[root@zabbix php]# chmod -R 777 /usr/local/nginx/html/*

2.4修改nginx配置

在http里面添加一下内容
fastcgi_buffers 8 16k; 缓存php生成的页面内容
fastcgi_buffer_size 32k; 缓存php生成的头部信息
fastcgi_connect_timeout 300; 链接php的超时时间
fastcgi_send_timeout 300; 发送请求的超时时间
fastcgi_read_timeout 300; 读取请求的超时时间

[root@zabbix php]# vim /usr/local/nginx/conf/nginx.conf

http {
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size  32k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout  300;
        fastcgi_read_timeout  300;

重新启动nginx

[root@zabbix php]# /usr/local/nginx/sbin/nginx  -s stop
[root@zabbix php]# /usr/local/nginx/sbin/nginx 

2.5安装依赖软件

[root@zabbix php]# yum -y install php-gd  php-xml php-ldap php-bcmath php-mbstring

2.6修改php配置文件

[root@zabbix php]# vim /etc/php.ini 
date.timezone = Asia/Shanghai       设置时区

max_execution_time = 300    最大执行时间,秒

post_max_size = 32M      post数据最大容量

max_input_time = 300    服务器接受数据的时间限制

重启php-fpm服务

[root@zabbix php]# systemctl restart php-fpm

3.访问页面

3.1输入http://192.168.2.70/index.php 输监控服务器的ip

监控服务器的搭建_第1张图片

3.2查看配置是否成功监控服务器的搭建_第2张图片

3.3 输入数据库信息

监控服务器的搭建_第3张图片

3.4查看输入的信息是否正确

监控服务器的搭建_第4张图片

3.5配置成功 进入监控系统

监控服务器的搭建_第5张图片
监控服务器的搭建_第6张图片

启动服务

[root@host5 ~]# vim /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log  设置日志
DBHost=localhost    设置主机
DBName=zabbix       设置数据库名称
DBUser=zabbix         设置数据库账户
DBPassword=zabbix    设置数据库密码

[root@host5 ~]# zabbix_server 
[root@host5 ~]# ss -utnlp | grep 10051
tcp    LISTEN     0      128       *:10051    *:*         user

你可能感兴趣的:(监控服务器的搭建)