1、mysql5.5.49配置 (192.168.1.92)
yum install cmake gcc* ncurses-devel -y
groupadd -g 1000 mysql
mkdir -pv /data/mysql
useradd -u 1000 -g mysql -d /data/mysql -s /sbin/nologin mysql
chown -R mysql.mysql /data/mysql
tar -zxvf mysql-5.5.49.tar.gz -C /usr/local/
cd /usr/local/mysql-5.5.49
编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/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/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
vim /data/mysql/my.cnf
datadir=/data/mysql
启动并添加环境变量
/etc/init.d/mysqld start
chkconfig mysqld on
echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /root/.bashrc
echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /etc/profile
source /etc/profile
cp /usr/local/mysql5.5.49/lib/libmysqlclient.so.18.0.0 /usr/lib64
或者ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
<----->创建zabbix数据库
mysql> CREATE DATABASE zabbix;
mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'192.168.1.%' IDENTIFIED BY '123456' ;
mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';
mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'study.zabbix1.com' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;
--------此步骤在解压zabbix包后操作------------
倒入数据 ---如果mysql与zabbix服务器不在同一主机,可将以下三个sql, 传到mysql主机上,然后进行数据导入,实现mysql与zabbix分离
sql的位置/usr/local/zabbix-3.0.4/database/mysql
按此顺序导入sql,不可颠倒
[root@mysql]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/schema.sql
[root@mysql ]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/images.sql
[root@mysql ]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/data.sql
2、安装Nginx (192.168.1.90)
[root@client opt]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
groupadd -g 1001 nginx
[root@client opt]# useradd nginx -u 1001 -g nginx
[root@client opt]# tar zxvf nginx-1.8.0.tar.gz -C /usr/local/
[root@client opt]# cd /usr/local/nginx-1.8.0/
[root@client-nginx-1.8.0]#./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
make
make install
[root@zabbix1 ~]# vi /etc/nginx/nginx.conf
user nginx;
worker_processes 4;
location / {
root html;
index index.html index.htm index.php;
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_params;
include fastcgi.conf;
}
[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
[root@zabbix1 ~]# mkdir -p /var/tmp/nginx/client/
[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
3安装php
yum install freetype-devel
安装libiconv(加强系统对字符编码转换的支持 --未安装)
[root@client ~]# yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y
yum install freetype-devel
tar zxvf 51CTO下载-libiconv-1.14.tar.gz -C /usrocal/
[root@client libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[root@client libiconv-1.14]# make && make install
安装re2c-0.13.5.tar.gz
tar -zvxf re2c-0.13.5.tar.gz
./configure && make && make install
[root@client opt]# tar zxvf php-5.5.38.tar.gz -C /usr/local/
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/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
为php提供配置文件
[root@zabbix1 php-5.5.38]# cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = "Asia/Shanghai"
为php-fpm提供配置文件:
[root@zabbix1 php-5.5.38]#
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑php-fpm的配置文件:
vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
为php-fpm提供Sysv init脚本,并将其添加至服务列表
[root@zabbix1 ~]# cp /usr/local/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
[root@client etc]# service php-fpm start
[root@zabbix1 ~]# vi /etc/nginx/fastcgi_params 清空后添加如下内容
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
[root@client etc]# service php-fpm restart
4、安装zabbix: zabbix-3.0.4
yum install net-snmp-devel mysql-devel curl-devel
groupadd -g 1002 zabbix
useradd zabbix -u 1002 -g zabbix
[root@client opt]# xz -d zabbix-3.0.4.tar.xz
[root@zabbix1 opt]# tar -xvf zabbix-3.0.4.tar -C /usr/local/
[root@zabbix opt]# cd /usr/local/zabbix-3.0.4/
[root@client zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java ---选择监控Java需提前配置JDK
make
make install
添加端口
vi /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
[root@client zabbix-3.0.4]# cp -ra frontends/php/ /usr/local/nginx/html/zabbix
[root@client zabbix-3.0.4]# chown -R nginx.nginx /usr/local/nginx/html/zabbix
添加启动文件
[root@zabbix1 zabbix-3.0.4]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
[root@zabbix1 zabbix-3.0.4]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
[root@zabbix1 zabbix-3.0.4]# vim /etc/init.d/zabbix_server
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_server"
为
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
[root@zabbix1 zabbix-3.0.4]# vim /etc/init.d/zabbix_agentd
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
为
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
[root@zabbix1 zabbix-3.0.4]# chmod 700 /etc/init.d/zabbix_*
[root@zabbix1 zabbix-3.0.4]# vi /usr/local/zabbix/etc/zabbix_server.conf
DBhost=192.168.1.92 ---如果数据库不在本地,要取消注释,将数据库IP写上
DBName=zabbix
DBUser=zabbix
DBPassword=123456
启动服务并设置开机启动
chkconfig zabbix_server on
chkconfig zabbix_agentd on
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -s reload
5、访问本地ip/zabbix/setup.php
需要给此目录下conf的zabbix.conf.php w+x权限,否则install之前会报错没有权限,可以自行下载conf文件,放在相应位置并且赋权。或者在前面给此文件相应权限。
[root@zabbix1 Downloads]# chmod 755 zabbix.conf.php
[root@zabbix1 Downloads]# cp zabbix.conf.php /usr/local/nginx/html/zabbix/conf/
6、zabbix-agent安装 (客户端IP为:192.168.1.91)
[root@agent1 ~]# yum -y install unixODBC
[root@agent1 ~]# rpm -ivh zabbix-agent-3.0.2-1.el6.x86_64.rpm
[root@agent1 etc]# vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.90
ServerActive=192.168.1.90
Hostname=agent --客户端主机名
Include=/etc/zabbix/zabbix_agentd.d/
[root@agent opt]# /etc/init.d/zabbix-agent restart
在服务器端测试是否连通 (服务器端IP为:192.168.1.90)
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.91 -p10050 -k"net.if.in[eth0,bytes]"
在服务器端添加主机:依次点击配置(Configure)-->主机(Hosts)-->创建主机(Create Host)
配置完成,第一个ZBX会变成绿色。
可以实现聚合监控
关于乱码问题:
在网上下载一个SIMKAI.ttl文件, 上传到
[root@zabbix ~]# cd /usr/local/nginx/html/zabbix/fonts/ --zabbix网页目录
[root@zabbix ~]# vi /usr/local/nginx/html/zabbix/include/defines.inc.php
1.// define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'simkai');
2.// define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
五、Java性能监控
java用jmx
卸载后根据jdf新安装的路径定义变量(192.168.1.93)
rpm -qa | grep jdk --->确定JDK
java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
rpm -qa | grep cgj
yum -y remove java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
mkdir /usr/local/java
解压JDK.tar包到/usr/local/java
[root@zabbix ~]# ln -s /usr/local/java/jdk1.7.0_80 /usr/local/jdk
[root@zabbix ~]# echo 'JAVA_HOME=/usr/local/jdk' >> /etc/profile
[root@zabbix ~]# echo 'PATH=$PATH:${JAVA_HOME}/bin/' >> /etc/profile
--如果版本不对,可将$PATH改写到bin后面
[root@zabbix ~]# echo 'export JAVA_HOME PATH' >> /etc/profile
[root@zabbix ~]# source /etc/profile
[root@zabbix ~]# java -version
java version "1.7.0_80"
[root@zabbix zabbix-3.0.4]# ./configure --enable-java --prefix=/usr/local/zabbix_java_gateway-2.0.6
-----上面编译之后,此步骤不操作,下面操作的路径在/usr/local/zabbix/sbin/zabbix_java
[root@zabbix zabbix-3.0.4]# make && make install clean
[root@zabbix ~]# ln -s /usr/local/zabbix_java_gateway-2.0.6 /usr/local/zabbix_java_gateway
[root@zabbix ~]# /usr/local/zabbix/etc/zabbix_server.conf JavaGateway=127.0.0.1 --JavaGateway服务器的地址,此次在 zabbix-server上
JavaGatewayPort=10052
StartJavaPollers=5 --从JavaGateway采集工具的进程数
[root@zabbix ~]# cd /usr/local/zabbix_java_gateway/sbin/zabbix_java
[root@zabbix zabbix_java]# vi settings.sh
LISTEN_IP="0.0.0.0" --监听地址
LISTEN_PORT=10052 --监听端口
START_POLLERS=5 --开启的工作线程数(必须大于等于 zabbix_server.conf中的StartJavaPollers)
[root@zabbix zabbix_java]#./startup.sh
[root@zabbix zabbix_java]# netstat -antp | grep 10052
tcp 0 0 :::10052 :::* LISTEN 31492/java
[root@zabbix bin]# pwd
/usr/local/zabbix_java_gateway/sbin/zabbix_java/bin
[root@zabbix bin]# ll
total 44
-rw-r--r-- 1 root root 13520 Aug 15 11:19 catalina-jmx-remote.jar
-rw-r--r-- 1 root root 26829 Aug 11 20:00 zabbix-java-gateway-3.0.4.jar
客户端配置:安装JDK
修改zabbix-agent配置文件,修改后重启生效
# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 开启agent端远程命令执行功能
安装tomcat
[root@agent1 opt]#tar -zxvf apache-tomcat-7.0.70.tar.gz -C /usr/local/
[root@agent1 local]# ln -s /usr/local/apache-tomcat-7.0.70 /usr/local/tomcat
[root@agent1 opt]# cp catalina-jmx-remote.jar /usr/local/tomcat/bin/
[root@agent1 ~]# cd /usr/local/tomcat/bin
[root@agent1 bin]# vi catalina.sh
#!/bin/sh
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.1.94"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=12345"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=fals
e"
[root@agent1 bin]# ./shutdown.sh
[root@agent1 bin]# pkill java
[root@agent1 bin]# ./startup.sh
------测试是否可以收集数据
[root@zabbix bin]# java -jar /opt/cmdline-jmxclient-0.10.3.jar - 192.168.1.94:12345 java.lang:type=Memory NonHeapMemoryUsage
08/18/2016 13:30:56 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 24313856
init: 24313856
max: 136314880
used: 17460680
http://blog.sina.com.cn/s/blog_79ac6aa80101gggo.html
sed 's/CATALINA_HOME/CATALINA_HOME_1/g' /usr/local/tomcat_18086/bin/catalina.sh > catalina.sh_1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=3333
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
tar -xvf zabbix-3.0.4.tar.xz -C /usr/local/
cd /usr/local/zabbix-3.0.4/
/configure --prefix=/usr/local/zabbix --enable-agent
make install
make clean
vi /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.90
ServerActive=192.168.1.90
Hostname=agent --客户端主机名
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_agentd
vi /etc/init.d/zabbix_agentd
# Zabbix-Directory
BASEDIR=/usr/local/zabbix
/etc/init.d/zabbix_agentd start
service zabbix_agentd start