设为首页 收藏本站
查看: 2259|回复: 0

[经验分享] ATsystem --saltstack web 管理平台

[复制链接]

尚未签到

发表于 2018-7-31 12:30:26 | 显示全部楼层 |阅读模式
  该平台是自己变学习python和django 边写的,不足之处,请各位不吝赐教,谢谢!
  一、系统环境
  centos6.4 x64  操作系统,python2.7.10  ,django1.8.1,mysql,saltstack2015.5.5-1(使用过程中 salt低版本有些功能不支持)
  二、安装部署
  1、先把mysql服务装上。
yum -y  install  mysql-server mysql-devel  mysql  配置my.cnf 文件
[mysqld]  
character-set-server=utf8
  
collation-server=utf8_general_ci
  
[client]
  
default-character-set=utf8
  登陆mysql创建atsystem使用的数据库
create database salt_sys character set utf8 collate utf8_general_ci;  2、编译安装python2.7.10版本,并设置环境变量。
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz  
tar -zxvf Python-2.7.10.tgz
  
cd Python-2.7.10
  
./configure
  
make&&makeinstall
  
cd /usr/bin
  
mv python python_bak
  
ln -s/usr/local/bin/python /usr/bin/
  3、安装pip工具。
  在次之前先安装setuptools,下载setuptools安装
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-20.2.2.tar.gz --no-check-certificate  
tar -zxvfsetuptools-20.2.2.tar.gz
  
cd setuptools-20.2.2
  
python setup.py  install
  下载安装pip
wget https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz --no-check-certificate  
tar -zxvfpip-8.0.2.tar.gz
  
cd pip-8.0.2
  
python setup.py  install
  
pip --version  #查看pip的版本
  4、使用pip安装所需要python库
  在代码里面有包含软件的文本softin.txt,内容如下:
simplejson==2.5.0  
Django==1.8.4
  
PyYAML==3.11
  
celery==3.1.19 #测试安装的时候高于celery高于这个版本报错,目前没找到原因
  
django-celery==3.1.17
  
salt==2015.8.1
  
tornado==4.3
  
Jinja2==2.8
  
msgpack-pure==0.1.3
  
zmq==0.0.0
  
pyzmq==15.1.0
  
pycrypto==2.6.1
  
MySQL-python==1.2.5
  

  
#使用下面命令安装
  
pip install -r  softin.txt
  5、安装saltstack。
  首先把epel yum源配置好。
rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  
sed -i"s/https/http/g"  /etc/yum.repos.d/epel.repo
  
yum update
  
yum install -y salt-master salt-minion salt-api
  6、配置salt-api。
  生成自签名证书(用于ssl)
cd  /etc/pki/tls/certs  生成自签名证书,过程中需要输入key密码及RDN
make testcert  
cd /etc/pki/tls/private/
  解密key文件,生成无密码的key文件, 过程中需要输入key密码,该密码为之前生成证书时设置的密码
openssl rsa -in localhost.key -out localhost_nopass.key  创建用于salt-api的用户
useradd -M -s/sbin/nologin salt  
echo"salt_pass" | passwd salt --stdin
  7、配置salt eauth文件和master配置文件。
  进入/etc/salt/master.d目录
  创建/etc/salt/master.d/eauth.conf 内容如下:
external_auth:  
  pam:
  
    salt:
  
      - .*
  
      - '@wheel'
  
      - '@runner'
  创建/etc/salt/master.d/api.conf 内容如下:
rest_cherrypy:  
  port: 8080
  
  ssl_crt: /etc/pki/tls/certs/localhost.crt
  
  ssl_key: /etc/pki/tls/private/localhost_nopass.key
  配置salt-master 主配置文件/etc/salt/master
default_include:master.d/*.conf     #去掉行首的#  配置saltstack 文件管理主目录,并在系统中建立/srv/salt目录,这些文件可以这里通过web界面分发到客户机。
file_roots:  
  base:
  
    - /srv/salt
  打开自动接受客户端认证
auto_accept: True          #这样当客户端salt-minion配置完成后,salt-master就自动accept  打开cache保留时间,因为该系统后台有异步任务在执行,会产生很多jobs,导致磁盘inodes 耗尽,系统会出现401访问错误,如果磁盘小于cache所在分区小于20G,最好小于24小时)
keep_jobs: 24  
job_cache: True
  启动salt-master,salt-api服务,启动salt-minion方便做测试
service salt-master start  
servicesalt-api start
  8、测试salt-api是否正常
curl -k https://192.168.1.110:8080/login -H "Accept: application/x-yaml"  -d username='salt'  -d password='salt_pass'  -d eauth='pam'  如果出现下面信息表示正常
return:  
- eauth: pam
  
  expire: 1463349349.815177
  
  perms:
  
  - .*
  
  - '@wheel'
  
  - '@runner'
  
  start: 1463306149.815177
  
  token: 4f26aa29ad6090ad1ddd51419de25a9d2aa65b78
  
  user: salt
  9、部署atsystem管理系统。
  使用git 下载程序到系统目录,这里我放在了/opt目录下
cd /opt  
git clone https://git.oschina.net/venuxs/atsystem.git
  导入数据库数据,atsystem目录下有salt_sys.sql 文件。
mysql -uuser -p salt_sys < ./salt_sys.sql     #这里使用到的用户名和密码根据自己设定的来  配置salt-master 的group配置文件,把atsystem目录下的nodegroup.conf 放到/etc/salt/master.d下,然后重启以下satl-master服务,加载nodegroup.conf配置文件
cp /opt/atsystem/nodegroup.conf /etc/salt/master.d/  配置atsystem的配置文件sys.conf,[path]和[log]节点可以不用改,[id]和[salt]节点根据自己的环境和配置来修改。
[path]  
salt_root_path = /srv/salt
  
file_path = /srv/salt
  
salt_group_conf = /etc/salt/master.d/nodegroup.conf
  
acc_key_path = /etc/salt/pki/master/minions
  
pre_key_path = /etc/salt/pki/master/minions_pre
  
den_key_path = /etc/salt/pki/master/minions_denied
  
rej_key_path = /etc/salt/pki/master/minions_rejected
  

  
[log]
  
#salt远程执行命令的日志记录
  
cmdlog = ./log/
  

  
[id]
  
#定义salt minion使用的ID,比如这里预定定义的有主机名:"hostname",主机sn序列号:"serial-number",主机的ip地址:"ipaddr"
  
#根据你自己salt minion的配置来选择,我这里使用的ip地址来作为salt-minion的ID
  

  
minion_id = ipaddr
  

  
[salt]
  
#salt-master主机的IP和api使用的端口,就是在上面api.conf配置的
  
hosturl=
  
user=salt
  
password=salt_pass
  

  
[mysql]
  
#atsystem使用到的数据库信息
  

  
host=localhost
  
user=root
  
password=mysql123
  
dbname=salt_sys
  10、启动atsystem服务
  切换到/opt/atsystem目录下执行,我这里开了三个窗口分别执行的
screen   python manage.py runserver 0.0.0.0:8000          #启动web服务  
screen   python manage.py celery worker --autoreload  --loglevel=info   #启动work来执行task
  
screen   python manage.py celery beat           #启动beat把任务加入到队列当做给work执行
  三、测试
  使用web浏览器打开: http://ip/8000  默认账号是admin  密码atsystem
DSC0000.png

  ##使用文档待续....................

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544154-1-1.html 上篇帖子: saltstack源码安装zabbix_agent 下篇帖子: ATsystem 使用介绍 --saltstack web 管理平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表