zabbix启动 cannot recreate Zabbix semaphores for IPC 问题

今天在lunix环境下启动zabbix出现如下问题

 cannot recreate Zabbix semaphores for IPC key 0x7a0344c5 Semaphore ID -1: [22] Invalid argument



解决方法

切换到用户root下 执行 

 ipcrm -S 0x7a0344c5

再次启动zabbix成功


还有一个清理命令


ipcs -s | awk ' $3 == "507" {print $2, $3}' | awk '{ print $1}' | while read i; do ipcrm sem $i; done

You should check ipcs and kill those with below given command, where it may vary, as awk $3 is username in the given senario



附上zabbix安装指导


1.安装方式:

rpm或者编译都可,rpm可以直接用yum安装.
rpm安装的话,根据文件名进行选择即可.
编译的话,不同参数对应不同的组件.

编译安装zabbix :

同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - server  -- enable - agent  -- with - mysql  -- enable - ipv6  -- with - net - snmp  -- with - libcurl  -- with - ssh2

如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - server  -- with - mysql  -- with - net - snmp  -- with - libcurl

如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- prefix = / usr  -- enable - proxy  -- with - net - snmp  -- with - mysql  -- with - ssh2

如果仅安装agent,可使用类似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - agent

这里选择的方式是非proxy
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
可能会出的问题:
ssh2 lib找不到,则安装libssh2,并--with-ssh2=指定安装位置,地址:http://www.libssh2.org/
# make
# make install

添加zabbix系统账户

#groupadd zabbix

#useradd -g zabbix -m zabbix 

#chown -R root.zabbix /usr/local/zabbix

添加服务端口(可要可不要,官方说建议要)

#vim /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

配置文件软连接(可要可不要,按照习惯要)

ln  -/usr /local /zabbix /etc  /etc /zabbix
修改各项配置文件

#vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbixer
DBPassword=123456     #指定zabbix数据库密码
ListenIP=192.168.10.197    #服务器IP地址

复制网站文件到虚拟主机目录,当然修改虚拟主机的配置也是必须的.(这里贴出apache的,至于nginx,这里就不贴出来了)

#cp -rp /usr/local/src/zabbix-***/frontends/php /var/www/zabbix
#cd /var/www
#chown -R zabbix.zabbix zabbix
#vim /usr/local/apache/conf/httpd.conf
group zabbix
user zabbix
#vim /usr/local/apache/conf/extra/httpd-vhost.conf
<VirtualHost 10.88.5.124:80>
    ServerAdmin aaa103439@hotmail.com
    DocumentRoot "/var/www/zabbix"
    ServerName 10.88.5.124
    ErrorLog "logs/zabbix-error_log"
    CustomLog "logs/zabbix-access_log" common
<Directory "/var/www/zabbix"> 
     Options None
     DirectoryIndex index.php 
      AllowOverride Options FileInfo 
     Require all granted
</Directory>
</VirtualHost>

复制启动脚本,zabbix的启动脚本位于源码包中,路径如下:
# ls /usr/local/src/zabbix-2.2.3/misc/init.d/
aix  debian  fedora  freebsd  gentoo  README  suse  tru64  ubuntu
ls fedora/core/
zabbix_agentd  zabbix_server
#cp * /etc/init.d/
#chkconfig --add zabbix_agentd
#chkconfig --add zabbix_server
#chkconfig zabbix_agentd on
#chkconfig zabbix_server on
修改脚本,因为脚本里的bin程序和配置文件路径均不对,好吧,也不能说不对,不过和我的不一样...所以得改下,但是版本不同,可能里面的内容不同,不过修改的内容都差不多,只不过变量不一样.这里贴出我的zabbix_server
# Variables 变量区域
# Edit these to match your system settings

     # Zabbix-Directory
    BASEDIR = /usr/local/zabbix

     # Binary File
    BINARY_NAME =zabbix_server

     # Full Binary File Call
    FULLPATH =$BASEDIR /sbin /$BINARY_NAME

     # PID file
    PIDFILE = /tmp /$BINARY_NAME.pid

     # Establish args
    ERROR = 0
    STOPPING = 0
#启动区域
start() {
     if [ $RUNNING  -eq  1 ]
         then
         echo  "$0 $ARG: $BINARY_NAME (pid $PID) already running"
     else
        action $ "Starting $BINARY_NAME: "  $FULLPATH -c /etc/zabbix/zabbix_server.conf
        touch  /var /lock /subsys /$BINARY_NAME
     fi
}
红色区域就是我修改的,分别是一个zabbix根路径和启动时所调用的配置文件.
至于zabbix_agentd,修改方式一样.

数据库端-->
创建数据库:server和proxy的运行都依赖于数据库,agent则不需要。

以MySQL数据库为例:
#生成用户名和密码;
mysql > CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql > GRANT ALL ON zabbix. * TO zabbixer@ '%' IDENTIFIED BY  '123456';
#生成proxy数据库
shell > mysql  -u <username >  -p <password > zabbix  < schema.sql
#生成server数据库
shell > mysql  -u <username >  -p <password > zabbix  < images.sql
shell > mysql  -u <username >  -p <password > zabbix  < data.sql
以上数据库的导入需要严格按照顺序执行,否则无法导入
数据库文件位于zabbix-server-mysql包中,其安装后的位置:/usr/share/doc/zabbix-server-mysql-***/create/

server端和web端在一起-->
server端的默认端口是10051
agent端的默认端口是10050
启动过程中可能会出现诸多问题,这里列出我所出现的:
zabbix_server [56305]: cannot recreate Zabbix semaphores for IPC key 0x7a016e62 Semaphore ID 4294967295: [22] Invalid argument
删除对应的IPC KEY,如:ipcrm -S  0x7a016e62
zabbix_server [56363]: cannot attach to existing shared memory: [13] Permission denied
查看selinux是否关闭
配置文件一直不生效
查看是否有其他配置文件,默认zabbix优先使用/usr/local/etc/zabbix_server.conf,如果发现配置文件调用的不对,可以通过zabbix_server -c 配置文件来调用自己所选择的配置文件.
配置完成,可以启动
service zabbix-server start

访问页面http://localhost/zabbix(如果是rpm安装),如果是编译安装,则路径按照自己httpd中定义的来写.
安装过程中可能会出现各种组件的支持问题.主要有以下:
1.php的参数不对,这个根据网页上显示的修改php.ini即可.如: php时区 Aisa/ShangHai
2.gd库不支持,包括gd库下的png,jpeg,freetype等.这个需要下载gd,libpng,jpeg,freetype.具体操作如下:
#编译安装libpng,jpeg,freetype,这三个包安装无需特殊参数,指定一下路径即可,有人说需要加入--enable-shared,但是我没开,gd依然可以用.
#编译安装gd,加入--with-png-dir=/path/libpng    --with-jpeg-dir=/path/jpeg    --with-freetype-dir=/path/freetype
#如果gd编译后,显示这几个库都是YES,则说明OK.
#将gd加入到php中.如果你的php已经是安装过的,那么需要单独编译gd,操作如下:(路径自己根据情况修改)
#cd /usr/local/src/php-***/ext/gd
#/usr/local/php/bin/phpize
#./configure --with-gd=/usr/local/gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config
#make && make install
编译安装完,会有一个路径,将其路径复制,假设路径是pathA
#vim /usr/local/php/php.ini
[gd]
extension  = pathA /gd.so
#重启apache或fpm-php
3.其他库不支持,如上编译安装即可.


被监控端:
配置:zabbix-agentd.conf
#vim /etc/zabbix/zabbix_agentd.conf
PidFile = /tmp /zabbix_agentd.pid  #进程PID
LogFile = /tmp /zabbix_agentd.log  #日志保存位置
EnableRemoteCommands = 1  #允许执行远程命令
Server =  #agent端的ip
Hostname =zabbix server  #必须与zabbix创建的host监控项目中的name标签相同
配置完成,可以启动
service zabbix-agentd start
agentd端口时10050

windows端的安装
1. 配置zabbix_agentd.conf文件,需要修改的地方分别为:Server,Hostname,LogFile;
其中Server是zabbix服务器的IP地址,Hostname是本地的主机名,LogFile为zabbix_agentd.log文件的位置,用于记录事件.
2. 进入cmd环境,C:\zabbix\bin\win32>zabbix_agentd.exe --config c:\zabbix\conf\zabbix_agentd.win. conf -i
3. 在"运行"输入 "services.msc",在里面找到"ZABBIX AGENT",并启动服务。 

至此就完成了ZABBIX windows agent的安装和配置。 



配置监控项目基本流程:
1.设定主机
2.设定监控项Configuration-->Hosts-->Items-->create items
多个Items可以定义为Application组
监控项需要定义key,来确保项目唯一性.另,key可以接收参数.
3.配置Graph,可以将多个监控项的图表合并在一起.
4.Screen可以将多个Graph整合在一个屏幕上.
5.配置触发器
6.配置动作Action



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值