实战:云南部署前置机程序
服务器配置:
1、指定用户名连接xshell 或者是 CRT:由于资源只能通过安管单点登录或者VPN登入,对还没有接入的虚拟机【如:xx.xxx.xxx.154】,可以用已经接入【如:xx.xxx.xxx.12】的跳转
ssh root@xx.xxx.xxx.154
2、数据库准备serviceID:守护程序守护前置机程序,只要守护程序还在运行,当前置机程序down掉,1分钟左右,将会启动前置机程序,他们之间靠serviceID关联,因此,守护程序一定要设置开机自启
1)守护程序:在cfmm数据库的websocketlist表里面设置,serviceID根据以前的累加
2)前置机程序:在ecmp数据库的res_serviceconfig中设置,serviceID根据以前的累加
3、程序上传,配置,启动:
1)上传:我们主要程序在/mnt/下面,我们从【xx.xxx.xxx.148】复制到【xx.xxx.xxx.154】
scp -r root@xx.xxx.xxx.148:/mnt/Cfmm /mnt/
同样操作将剩下的三个文件传过来,结果即为:
2)配置动态库的软连接:
ln -s /mnt/MySQL/lib/libmysqlclient.so.20 /usr/lib64
3)修改程序配置文件:改ServerID=27为数据库刚刚新增的,对应程序的ServerID
vi /mnt/Cfmm/src/Cfmm.conf
ServerID=14
同样的,分别去
vi /mnt/EmcsNW/src/DGSYS.conf 改ServerID=27
vi /mnt/EmcsYn/src/DGSYS.conf 改ServerID=26
4)编译
cd /mnt/Cfmm/src/
make clean
make
同理,分别编译:
cd /mnt/EmcsNW/src/
make clean
make
cd mnt/EmcsYn/src/
make clean
make
5)日志文件配置:日志路径和名字,去配置文件中找
cd /var/log
新建
touch Cfmm.log
touch EmcsNw.log
touch EmcsYn.log
给执行权限
chmod 755 Cfmm.log
chmod 755 EmcsNw.log
chmod 755 EmcsYn.log
查看
ll /var/log/*.log
6)启动:
/mnt/Cfmm/src/Cfmm &
7)验证:
【1】验证守护程序是否启动成功:
ps -ef | grep Cfmm
【2】验证守护程序是否启动前置机程序成功:在只启动Cfmm情况下,看前置机程序EmcsNW EmcsYn 是否启动成功
ps -ef | grep Emcs
4、linux配置防火墙iptables
1)检查yum
yum repolist
发现报错:
查仓库配置文件的位置:
find / -name "repomd.xml"
我们发现路径是:/mnt/iso
而/etc/yum.repos.d/dvd.repo显示路径:/mnt
cd /etc/yum.repos.d/
ll
cat dvd.repo
修改:
vi /etc/yum.repos.d/dvd.repo
清空文件,重新编写要也可以:
[dave]
name=dave
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
验证:
yum repolist
2)停掉firewalld
【1】查看firewalld状态
service firewalld status
【2】停止firewalld服务
systemctl stop firewalld
【3】禁用firewalld服务
systemctl mask firewalld
【4】禁用firewalld开机启动
systemctl disable firewalld.service
3)安装iptables
【1】安装iptables
yum install -y iptables
【2】升级iptables
yum update iptables
【3】安装iptables-services
yum install -y iptables-services
4)查看现有规则
iptables -L -n
5)备份并清空先有规则
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_bak
echo "">/etc/sysconfig/iptables
6)配置相应规则
#先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT
#清空所有默认规则 iptables -F
#清空所有自定义规则 iptables -X
#所有计数器归0 iptables -Z
#允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT
#开放9004端口(昊普守护程序) iptables -A INPUT -p tcp -m tcp --dport 9005 -j ACCEPT
#开放9005端口(南网守护程序) iptables -A INPUT -p tcp -m tcp --dport 9004 -j ACCEPT
#开放5001端口(昊普前置机程序) iptables -A INPUT -p tcp -m tcp --dport 5001 -j ACCEPT
#开放5002端口(南网前置机程序) iptables -A INPUT -p tcp -m tcp --dport 5002 -j ACCEPT
#开放23端口(telnet) iptables -A INPUT -p tcp --dport 23 -j ACCEPT
#开放22端口(ssh) iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃 iptables -P INPUT DROP
#所有出站一律绿灯 iptables -P OUTPUT ACCEPT
#所有转发一律丢弃 iptables -P FORWARD DROP
7)保存iptables规则:保存上述规则
service iptables save
8)启动iptables
相当于以前的chkconfig iptables on
systemctl enable iptables.service
启动
systemctl start iptables.service
查看状态
systemctl status iptables.service
9)验证
iptables -L -n
5、设置最大连接数
1)查看最大连接数
ulimit -a
2)修改FD_SETSIZE大小 :改为65535
vi /usr/include/linux/posix_types.h
define __FD_SETSIZE 65535
vi /usr/include/bits/typesizes.h
define __FD_SETSIZE 65535
3)修改打开文件大小
vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
4)修改最大连接数
ulimit -n 65535
5)验证
4、数据验证
到这里,所有安装部署已经完成,下面就需要测试一下,看采集器能否正常上线和采集到读数。
1)找一个在线并能采集电表读数的采集器20170701501
2)查看ecmp数据库,里面res_collector 里面20170701501的serviceid=10
3)将serviceid_param=10改成serviceid_param=26(前置机EmcsYn 的serviceid)
4)然后去task_manager找到extend=10 taskclass=3 tasktype=0 的taskid=100(没有的时候,可以添加一条)
5)去task_obj找到taskid=100 collector=20170701501的数据(没有添加)
6)在task_obj里面找到的数据,runflag改为-1,然后task_manager找到的数据,runflag改为0,刷新直到:task_manager找到的数据,runflag变为2,task_obj里面找到的数据,runflag改为0
去看看res_collector ,是否成功
如果没有做成功,先去traceroute 10.x.xx.80一下,然后再ping,能通后去看看采集器有么上线
如果还是不行,去前置机里面重启一下前置机程序
最后,终于成功的结果: