已经好久没有更新文章了,今天会将最近学习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配置和登录
上面的提示下载并上传文件到指定位置。
上传文件以后要注意修改文件的属主权限
[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
登录进去以后是英文界面可以修改为中文界面;
如果没有中文选择项可以在配置文件修改如下:
/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],
为了防止图形中的字符出现乱码:
上传字体:
将选择的字体上传到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'); ==>此行为新增行;
重启服务即可。