Zabbix-Server监控部署

已经好久没有更新文章了,今天会将最近学习zabbix整理以后发送出来。其他学习的会陆续更新。

1. 环境

虚拟机ip:192.168.199.57
Linux:centos 6.5
Nginx:1.9.15
PHP:5.5.35
MySQL:5.5.49
Zabbix:3.0

2. 安装nginx

yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
· 创建用户
useradd nginx -s /sbin/nologin M *#创建一个非登录账户Nginx*
· 上传或下载Nginx文件(nginx)
下载wget http://nginx.org/download/nginx-1.9.5.tar.gz

tar zxvf nginx-1.9.15.tar.gz 解压文件
cd  nginx-1.9.15
./configure --prefix=/usr/local/product/nginx1.9.14 --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre  
编译
*#参数含义:*
--prefix 指定编译的位置
--user=www --group=www 指定用户
--with-http_stub_status_module:支持nginx状态查询
--with-http_ssl_module:支持https
-with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
--with-pcre:为了支持rewrite重写功能,必须制定pcre
make && make install  安装
ln -s /usr/local/product/nginx1.9.14 /usr/local/nginx 创建一个软连接

3 安装php

tar xvf php-5.5.35.tar.gz #解压
cd php-5.5.35
#编译
./configure --prefix=/usr/local/product/php-5.5.35 --with-config-file-path=/usr/local/product/php-5.5.35/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
安装
make&& make install 
配置文件
cp php.ini-production /usr/local/php/etc/php.ini
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
修改php.ini参数:(zabbix环境需要修改的参数)
max_execution_time = 300 
memory_limit = 128M 
post_max_size = 16M 
upload_max_filesize = 2M 
max_input_time = 300 
date.timezone = PRC

4. 安装mysql

  • 添加mysql用户
groupadd mysql
mkdir -pv /data/mysql
useradd -r -g mysql -d /data/mysql -s /sbin/nologin mysql
chown -R mysql.mysql /data/mysql
  • 安装依赖
    yum install cmake gcc* ncurses-devel -y
  • 安装myslq
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz #下载
tar -xvf mysql-5.5.49.tar.gz && cd mysql-5.5.49 #解压
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/product/mysql5.5.49 -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci 
#编译
make && make install #安装
ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql #创建软连接
chown -R mysql.mysql /usr/local/mysql #修改文件所属
cd /usr/local/mysql/support-files/ 
cp my-medium.cnf /data/mysql/my.cnf 拷贝配置文件
cp mysql.server /etc/init.d/mysqld 拷贝启动文件
chmod +x /etc/init.d/mysqld 增加执行权限
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/ 初始化数据
  • 修改MySQL配置文件my.cnf中数据目录:datadir=/data/mysql/
  • 新建mysql数据库和建立zabbix监控的数据库用户名和密码:
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix'; #后面配置zabbix-server.cnf会用到
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)

注意:此种安装的mysql 所有的命令都不在/usr/bin /usr/sbin 中需要在安装目录中找到 建立软连接。才能直接使用命令否则需要补全命令所在目录

mysqladmin -uroot password  "zabbix" #创建mysql root账户密码
ln -s /tmp/mysql.sock /var/lib/mysql/ #解决无法使用mysql登陆问题

编辑安装mysql不推荐这个只是方法之一。可以yum安装也可以使用rpm包安装。其实只要安装就可以,用来存储监控信息就可以了。

5. 安装zabbix-server

  • yum安装(这周方法最简单,也不会存在启动问题,配置文件都在/etc下面客户端agent和jmx(java-gateway)都可以直接安装)
rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
yum install -y  zabbix-server
service zabbix-server start|stop|restart
注意这里需要找下mysql数据zabbix导入结构文件(一般在源码包的database/mysql文件下的三个)
  • 源码安装(我选择是这种安装)
tar zxvf zabbix-3.0.3.tar.gz 
cd zabbix-3.0.3
在编译之前安装依赖包否则会报错
yum install mysql-devel net-snmp-devel –y
./configure --prefix=/usr/local/zabbix-3.0.3/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
创建zabbix用户:
    groupadd zabbix
    useradd zabbix -s /sbin/nologin -M –g zabbix
导入zabbix的mysql文件
    mysql -uroot -pzabbix zabbix < database/mysql/schema.sql 
    mysql -uroot -pzabbix zabbix < database/mysql/images.sql 
    mysql -uroot -pzabbix zabbix < database/mysql/data.sql

6. zabbix管理网站配置(nginx)

  • 建立网站目录拷贝zabbix前端到指定位置
mkdir /data/web/zabbix.lifec.com –p
mkdir /data/logs/zabbix -p
cp -rp frontends/php/* /data/web/zabbix.lifec.com/
  • 配置Nginx配置文件
1.新建zabbix.conf
/usr/local/product/nginx1.9.14/conf
mkdir extra
cd extra/
vi zabbix.conf

server {
listen 8027; #端口根据需要更改
server_name zabbix.lifec.com; #根据域名修改,也可以直接写IP
access_log /data/logs/zabbix/zabbix.lifec.com.access.log main;
index index.html index.php index.html;
root /data/web/zabbix.lifec.com;
location /{
       try_files $uri $uri/ /index.php?$args;
}
location ~ ^(.+.php)(.*)$ {
       fastcgi_split_path_info ^(.+.php)(.*)$;
       include fastcgi.conf;
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
2.配置Nginx.conf
user  nginx;
worker_processes  1;
#error_log  logs/error.log warning;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    include extra/*.conf;
}
3.编辑zabbix_server.conf文件 在 /usr/local/zabbix-3.0.3/etc下面
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix #根据数据库的用户名和密码填写

7. 启动服务

/usr/local/nginx/sbin/nginx
/usr/local/php/sbin/php-fpm
/usr/local/zabbix-3.0.3/sbin/zabbix_server
将服务加入开机自启动:
echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local 
echo "/usr/local/php/sbin/php-fpm" >>/etc/rc.local 
echo "/etc/init.d/mysqld start" >>/etc/rc.local
echo "/usr/local/zabbix-3.0.3/sbin/zabbix_server" >>/etc/rc.local
上面重启zabbix添加到系统服务中
cp packet/zabbix-3.0.3/misc/init.d/ fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server #添加之后可以直接使用系统服务启动
ln -s /usr/local/zabbix-3.0.3/sbin/zabbix_server /usr/local/sbin/zabbix_server 如果不增加链接会有报错  或者在zabbi_server修改代码也可以

8.web端配置zabbix

在登录时候一定要注意我们配置的端口是8027,再就是防火墙一定要注意端口打开。 因为在设置nginx时候设置了server name: zabbix.lifec.com所以修改hosts文件后可以使用 zabbix.lifec.com:8027配置和登录


Zabbix-Server监控部署_第1张图片
zabbix配置1

Zabbix-Server监控部署_第2张图片
zabbix配置2

Zabbix-Server监控部署_第3张图片
zabbix配置3,注意用户名密码和数据库名称就是前期建立的

Zabbix-Server监控部署_第4张图片
zabbix配置4

Zabbix-Server监控部署_第5张图片
zabbix配置5

Zabbix-Server监控部署_第6张图片
zabbix配置6

上面的提示下载并上传文件到指定位置。
上传文件以后要注意修改文件的属主权限

[root@localhost-zabbix etc]# cd /data/web/zabbix.lifec.com/conf
[root@localhost-zabbix conf]# ls
maintenance.inc.php  zabbix.conf.php  zabbix.conf.php.example
[root@localhost-zabbix conf]# ll
总用量 12
-rw-r--r--. 1 1001 1001 1036 11月  9 19:33 maintenance.inc.php
-rw-r--r--. 1 root root  415 12月 25 11:54 zabbix.conf.php
-rw-r--r--. 1 1001 1001  411 11月  9 19:33 zabbix.conf.php.example
[root@localhost-zabbix conf]# chown -R 1001.1001 zabbix.conf.php
Zabbix-Server监控部署_第7张图片
zabbix配置完成

Zabbix-Server监控部署_第8张图片
登陆,默认用户名admin密码zabbix

Zabbix-Server监控部署_第9张图片
登陆

登录进去以后是英文界面可以修改为中文界面;


Zabbix-Server监控部署_第10张图片
修改中文界面

如果没有中文选择项可以在配置文件修改如下:
/data/web/zabbix.lifec.com/include/locales.inc.php
#'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => false],
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],

为了防止图形中的字符出现乱码:
上传字体:


Zabbix-Server监控部署_第11张图片
windows字体

将选择的字体上传到Linux服务器的zabbix的fonts目录:
并修改以下配置:

vim /data/web/zabbix.lifec.com/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name        ==>此行为新增行;
define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'simsun');       ==>此行为新增行;

重启服务即可。

你可能感兴趣的:(Zabbix-Server监控部署)