.NET自动安装zabbix客户端(代码)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET自动安装zabbix客户端(代码)相关的知识,希望对你有一定的参考价值。
参考技术A using System;using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.Management;
using System.ServiceProcess;
namespace Zabbix3AgentSetup
class Program
static void Main(string[] args)
// string test=File.ReadAllText("../../serverip.txt");
// Console.WriteLine(test);
// Console.Read();
killProcess("zabbix_agentd");
if(ServiceIsExisted("Zabbix Agent"))
if (GetOSBit() != 32)
RunCmd(@"C:\zabbix_agents_2.4.4.win\bin\win64\zabbix_agentd.exe -d -c C:\zabbix_agents_2.4.4.win\conf\zabbix_agentd.win.conf");
else
RunCmd(@"C:\zabbix_agents_2.4.4.win\bin\win32\zabbix_agentd.exe -d -c C:\zabbix_agents_2.4.4.win\conf\zabbix_agentd.win.conf");
if(Directory.Exists(@"c:\zabbix_agents_2.4.4.win"))
Directory.Delete(@"c:\zabbix_agents_2.4.4.win", true);
Directory.CreateDirectory(@"c:\zabbix_agents_2.4.4.win");
CopyFile(@"....\zabbix_agents_2.4.4.win", @"c:\zabbix_agents_2.4.4.win");
string machineName = Environment.MachineName;
string serverip = File.ReadAllText(@"....\serverip.txt");
string str1 = ("ServerActive=" + serverip);
string str2 = ("Hostname=" + machineName);
using (FileStream fs = new FileStream(@"c:\zabbix_agents_2.4.4.win\conf\zabbix_agentd.win.conf", FileMode.OpenOrCreate, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs))
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("0\n", str1, DateTime.Now);
sw.WriteLine("0\n", str2, DateTime.Now);
sw.Flush();
自动安装zabbix客户端shell脚本
一般工作中要部署新服务器,部署完成还要添加zabbix监控,所以安装zabbix客户端是很频繁的,我这里写了一个简单的自动安装脚本,不是很完善,但也可以平时拿来用。
脚本运行的时候可能会出来一些错误,可以看终止时的错误信息,很可能是缺少相关的包,根据信息安装包再重新运行即可。
注意修改配置的内容,要根据实际情况做相应的修改,比如server和hostname,server是服务端的ip,根据实际情况配置,hostname我这里设置的是客户端自己的ip,也可以根据自身情况修改。在获取本地ip时,这种写法不是最严密的,因为有的机器上有好几个网卡,而且网卡的网段也可能是同一个网段,这样的情况用本脚本的语法是不能正常获取的,所以还是在运行之前看一下自己网卡的情况。
#/bin/bash #源码自动安装zabbix客户端脚本。 #检查zabbix用户是否存在 grep "^zabbix" /etc/passwd if [ $? -ne 0 ] then useradd zabbix -s /sbin/nologin fi #检测函数 check() { if[ $? -ne 0 ] then echo "Error,Please check again." exit 1 fi } #下载源码包 cd /home/zabbix [ -f zabbix-2.2.10.tar.gz ] || wgethttps://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.10/zabbix-2.2.10.tar.gz check [ -d zabbix-2.2.10 ] || tar zxfzabbix-2.2.10.tar.gz check #检查原有zabbix服务,如果有则停掉 ps -elf |grep zabbix|grep -v grep if [ $? -eq 0 ] then /etc/init.d/zabbix-agent stop || /etc/init.d/zabbix-agentd stop fi #编译安装 cd zabbix-2.2.10 ./configure --prefix=/usr/local/zabbix--sysconfdir=/usr/local/zabbix/conf --enable-agent check make check make install check chown -R zabbix:zabbix /usr/local/zabbix #添加到init进程 /bin/cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix-agentd chmod 755 /etc/init.d/zabbix-agentd grep "BASEDIR=/usr/local/zabbix"/etc/init.d/zabbix-agentd if [ $? -ne 0 ] then sed -r -i ‘s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g‘/etc/init.d/zabbix-agentd fi check #修改配置文件 sed -r -i‘s#Server=127.0.0.1#Server=x.x.x.x#g‘/usr/local/zabbix/conf/zabbix_agentd.conf check sed -r -i‘s/ServerActive=127.0.0.1/#ServerActive=127.0.0.1/g‘/usr/local/zabbix/conf/zabbix_agentd.conf check ip=`/sbin/ifconfig |grep"addr"|grep "192.168."|awk ‘{print $2}‘|awk -F‘:‘ ‘{print$2}‘` sed -r -i "s#Hostname=Zabbixserver#Hostname=$ip#g" /usr/local/zabbix/conf/zabbix_agentd.conf check chkconfig --add zabbix-agentd chkconfig zabbix-agentd on service zabbix-agentd start netstat -lnp |grep zabbix if [ $? -eq 0 ] then echo "Zabbix agent install have completed." fi
本文出自 “我不是我” 博客,请务必保留此出处http://wangwq.blog.51cto.com/8711737/1843864
以上是关于.NET自动安装zabbix客户端(代码)的主要内容,如果未能解决你的问题,请参考以下文章