根据刁文波的博客,以及与他本人的沟通,我利用3天的时间仔细研究了ducter,以后对我们公司的产品上线和发布可能会起到一定的作用,自己做的虚拟环境给经理看看,希望建议能被采纳
这是自己写的安装文档,至于具体的理论可以去刁哥的博客去看http://blog.sina.com.cn/cwinux
新年伊始,刚刚研究的ducter,大家可能都是刚刚开始接触,有很多问题,一起解决
1.1 依赖软件包
Ducter依赖如下的软件包:
mysql client lib:版本不低于5.0(只center需要)
openssl开发库: 版本不低于0.8
expat: 版本不低于2.0(只center需要)
protobuf:版本不低于2.4
cwinux : 版本不低于2.4.1
1.2 依赖包安装编译
1.2.1 Mysql client lib的安装
#下面是centos64环境下的rpm安装,根据自己实际情况决定是否安装
#yum install mysql-devel
1.2.2 Openssl 开发库
#下面是centos64环境下的rpm安装,根据自己实际情况决定是否安装
#yum install openssl-devel
1.2.3 Expat编译安装
下载软件包:
#wget
解压编译安装:
#tar xvfz expat-2.1.0.tar.gz
#cd expat-2.1.0
#./configure --enable-shared=no ##形成静态库
#make
#make install
1.2.4 Google protobuf的编译安装
下载软件包:
#wget
解压编译安装:
# bzip2 -d protobuf-2.6.1.tar.bz2
#tar xvf protobuf-2.6.1.tar
#cd protobuf-2.6.1
#./configure --enable-shared=no ##形成静态库
#make
#make install
1.2.5 Cwinux编译安装
下载软件包:
#wget -O cwinux.2.4.1.tar.gz
解压编译安装:
#tar xvfz cwinux.2.4.1.tar.gz
#cd cwinux
##########形成静态库
#./configure --prefix=/usr/local/cwinux --enable-shared=no
#make
#make install
1.3 Ducter center/agent编译安装
下载软件包:
# wget -O ducter.1.0.2.tar.gz
解压安装:
#tar xvfz ducter.1.0.2.tar.gz
#cd ducter-server-1.0.2
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cwinux/lib/
编译安装agent:
#cd agent
#./configure --with-cwinux=/usr/local/cwinux/include --with-protobuf=/usr/local/include --prefix=/var/myproject/ducter/agent
#make
#make install
编译安装center:
#cd ../center
#./configure --with-cwinux=/usr/local/cwinux/include --with-protobuf=/usr/local/include --with-expat=/usr/local/include --with-mysql=/usr/include/mysql --prefix=/var/myproject/ducter/center
#make
#make install
1.4 配置与启动
1.4.1 Center的配置与启动
进入center的安装目录:/var/myproject/ducter/center/bin
#cd /var/myproject/ducter/center/bin
1.4.1.1 按实际环境配置center
#vim dcmd_center.conf
[common]
home=/var/myproject/center/bin ##设置为dcmd_center程序所在的目录
host=192.168.1.200:6667 ##ip设置为center所在服务器的ip地址,此时web连接通信的ip
agent_listen=*:6666 ##agent连接的ip,可以为具体的ip或中【*】表示监听所有ip地址
ui_listen=192.168.1.200:6667 ##监听WEB连接的ip地址,【host】参数配置的地址应该在监听ip地址范围内。可以为【*】
heatbeat=5 #agent的心跳时间间隔,单位为s
opr_overflow_threshold = 100 #agent接受并发处理的最大操作数量
max_package_msize=10 #agent与center通信的最大数据包大小
ip_table_refresh_internal=1800 #center从数据库中同步设备节点信息的时间间隔,单位为s
ui_user=dcmd #web连接的用户名
ui_passwd=dcmd #web连接的用户口令
opr_script_path=/var/myproject/ducter/center/bin/opr_script ## 操作脚本的存放目录
task_script_path=/var/myproject/ducter /center/bin/task_script ## 任务脚本的存放目录
cron_script_path=/var/myproject/ducter /center/bin/cron_script ## cron脚本的存放目录
monitor_script_path=/var/myproject/ducter/center/bin/monitor_script ## 监控脚本的存放目录
illegal_agent_block_second=100 ## 连接上来的未注册的agent,被阻止连接的时间。单位为s
enable_opr_cmd = yes ## 是否运行执行操作,为yes/no
log_file_num =7 ## center循环日志的文件数量
log_file_msize =10 ## center循环日志的文档大小,单位为MByte
opr_cmd_arg_mutable = yes ## 是否允许【重复操作】的参数被替换,为yes/no
opr_cmd_history = yes ## 是否记录【重复操作】的执行记录
allow_ui_net=192.168.1.200;192.168.1.201;192.168.1.202 ## 允许连接【ui_listen】的源ip地址
debug=yes ## 是否输出debug信息
[mysql]
server=127.0.0.1 ## mysql的ip地址
port=3306
user=mysql用户
passwd=pwd
db_name=dcmd
在/var/myproject/ducter/center/bin的目录下启动:./start.sh
在/var/myproject/ducter/center/bin的目录下停止:./stop.sh
1.4.2 Agent的配置与启动
进入agent的安装目录:/var/myproject/ducter/agent/bin
#cd /var/myproject/ducter/agent/bin
1.4.2.1 按实际环境配置center
#vim dcmd_agent.conf
[agent]
home=/var/myproject/ducter/agent/bin #agent运行的home目录,为dcmd_agent所在的目录
center=192.168.1.200:6666 #agent连接的控制中心的信息,为ip:port的格式,多个ip:port用【;】分隔
log_file_num =3 #log文件的数量
log_file_msize =10 #log文件的大小
debug=yes/no #是否输出debug日志
在/var/myproject/ducter/agent/bin的目录下启动:./start.sh
在/var/myproject/ducter/agent/bin的目录下停止:./stop.sh
2、Ducter Web安装与配置 #可以暂时在一台机器上配置的,生产环境是要分开的
2.1安装lnmp环境,此处省略,也可以用lamp,根据自己喜好来吧
其中nginx 配置rewrite
在nginx配置中添加
if ( !-f $request_filename ) { ###重写规则
rewrite ^/(.*)$ /index.php?$1 last;
}
php安装protobuf和mcrypt两个模块
其他的不再介绍
3、配置agent的环境,在每个agent的服务器进行编译安装agent
和上面配置agent的步骤一样,此处不再介绍
4、配置访问路径
4.1创建web目录并安装代码
#mkdir /usr/share/ducter
#cd /usr/share/ducter
到github上下载web代码
#wget -O ducter_web1.0.2.tar.gz
#tar -zxvf ducter_web1.0.2.tar.gz
#mv ducter-web-1.0.2/basic ./
#rm –rf ducter-web-1.0.2
#cd basic
#unzip vendor.zip
#rm vendor.zip
#chow –R www:www /usr/share/ducter 注意www为apache服务启动帐号
4.2修改ducter配置
#vim /usr/share/ducter/basic/config/db.conf 修改数据库host, user, passwd
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=dcmd',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
];
注意:该数据库连接帐号需要有读,写,删,锁数据库权限。
Web与数据库安装完成之后即可通过访问。默认管理员用户名密码为admin:123456
下面就是具体的使用了我们可以根据自己的要求来编写任务脚本和操作脚本