CentOS7.6搭建NetXMS2.2.13

必须要吐槽一下,这玩意如果没有一定的技术水平和耐心还是换zabbix吧。

2019年了作为一款开源的监测软件NetXMS在国内还没有成熟的社区且文档基本上为零

模块化的包也让很多刚刚接触的人摸不到头脑,

丑陋难用的UI和不完善API接口(目前只有windows版支持自定义API,可以看我另一篇文章Grafana使用NetXMS插件教程 - 简书

自带的模版之类的都不完善,遇到故障基本上只能靠自己摸索解决。

个人觉得其优点是相对于结构简洁高效可以高度自定义(超级毛坯房)


环境为内网,准备局域网镜像源或者本地镜像源,我用的是10G的everything镜像源。

安装配置过程

#下载软件包NETXMS2.2.13

wget https://www.netxms.org/download/releases/2.2/2.2.13/netxms-2.2.13.tar.gz

tar -xf netxms-2.2.13.tar.gz -C /usr/local/src/ #解压

cd /usr/local/src/netxms-2.2.13/

# 可以先安装epel-release源。

yum install  epel-release -y

# 配置yum镜像 安装GCC 编译,这里会有很多错误内网服务器要下载相关包慢慢配置好关联

yum install    gcc* libcurl openssl openssl-devel libcurl-devel libssh libssh-devel mysql-devel mosquitto-devel –y

如果内网yum源有些包没有就需要去下载需要的包并用下面的命令忽略依赖强制安装

rpm -ivh *.rpm --force –nodeps

rpm -ivh /root/packages/mosquitto-*.rpm --force –nodeps

rpm -ivh /root/packages/libssh*.rpm --force --nodeps


#这里需要等待一会,等待时间和你的机器硬件配置有关

./configure --prefix=/usr/local/netxms --with-server --with-mysql --with-agent && make -j 4 && make install ls /usr/local/netxms/ && make clean


#安装完成生成下面的四个目录

ls /usr/local/netxms

bin lib share var

cp contrib/netxmsd.conf-dist /etc/netxmsd.conf

cp contrib/nxagentd.conf-dist /etc/nxagentd.conf


#修改如下

vi /etc/netxmsd.conf

DBDriver = mysql.ddr

DBServer = localhost

DBName = netxms

DBLogin = netxms

DBPassword = passwd  #修改为你Server 密码

LogFailedSQLQueries = yes

LogFile = /var/log/netxms


vi  /etc/nxagentd.conf

MasterServers = 127.0.0.1  #修改为你Server 的IP

yum install mariadb mariadb-server -y

systemctl enable mariadb

 systemctl start mariadb

mysql -e 'CREATE DATABASE netxms';

mysql -e " GRANT ALL ON netxms.* TO netxms@localhost IDENTIFIED BY 'passwd';" #这里是改成上面设置的密码

mysql -e 'flush privileges;'

/usr/local/netxms/bin/nxdbmgr init

#初始化

NetXMS Database Manager Version 2.2.13 Build 9504 (2.2.13) (UNICODE)

Initializing database...

Database initialized successfully

/usr/local/netxms/share/netxms/sql/dbinit_mysql.sql

#启动客户端,启动服务端

/usr/local/netxms/bin/nxagentd -d

/usr/local/netxms/bin/netxmsd -d

到这里服务后端搭建好,下面搭建web前端


#下载web页面文件

wget https://www.netxms.org/download/releases/2.2/2.2.13/nxmc-2.2.13.war  

cp nxmc-2.2.13.war /opt/  #复制网站文件到/opt/

# 安装java 和 tomcat

yum install java-1.8.0-openjdk-devel.x86_64  tomcat -y

#如果没有报错就说明成功了,之后看一下版本

java -version

Tomcat -version

#/usr/share/tomcat为主要文件夹,将war文件拷贝到webapps文件夹中

cp nxmc-2.2.13.war /usr/share/tomcat/webapps/

#firewalld开启服务http snmp和端口8443 8009 8080

firewall-cmd --add-service=http --permanent

firewall-cmd --add-service=snmp --permanent

firewall-cmd --add-port=8449/tcp --permanent

firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd --add-port=8009/tcp --permanent

firewall-cmd --reload

#重启服务

systemctl enable tomcat

systemctl restart tomcat

systemctl status tomcat


打开浏览器访问:http://ip:8080/nxmc-2.2.13/nxmc


默认帐号密码admin/netxms


结束


FAQ:


本地安装yum RPM包的方法

yum localinstall (rpm包)-y

如果提示缺少关联包如下:

 perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base                                                  

 perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base                                                  

 perl-Data-Dumper x86_64 2.145-3.el7 base                                                  

 perl-IO-Compress noarch 2.061-2.el7 base                                                 


将缺少的包拿到有网络的最小安装的服务器上

先yum卸载相关RPM包防止已经安装导致后面冲突

yum remove  (rpm包)-y

之后下载这些rpm包到某个文件夹中不执行安装如(/root/packer)

yum install (rpm包)  --downloadonly  --downloaddir=/root/packer-tomcat

之后将下载的包拷贝到内网服务器中进行本地安装

yum localinstall (rpm包)-y  --skip-broken



解决yum update出错"package is a duplicate with"

列出重复的包

# package-cleanup --dupes

删除重复的包

# package-cleanup --cleandupes

Tomcat如果8080端口被占用建议修改为其它端口,修改 server.xml文件内的8080端口即可。

https://www.netxms.org/documentation/adminguide/index.html

https://wiki.netxms.org/wiki/Main_Page

推荐阅读更多精彩内容