AutoOps 是一款基于 2.0 版本django 開發(fā)的,主要面向linux運(yùn)維工程師使用,管理linux資產(chǎn)信息,MySQL數(shù)據(jù)庫(kù),批量執(zhí)行命令、腳本,獲取流量圖,web ssh管理,技術(shù)文檔等功能。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了石河子免費(fèi)建站歡迎大家使用!
歡迎大家測(cè)試使用,有問題可反饋。
地址: http://114.115.132.147:8003
賬號(hào)admin
密碼1qaz.2wsx
交流群號(hào): 620176501
歡迎交流!
后臺(tái)地址 http://114.115.132.147:8003/admin
賬號(hào)admin
密碼1qaz.2wsx
博客: http://hequan.blog.51cto.com/
github: https://github.com/hequan2017/autoops/
碼云: https://gitee.com/hequan2020/autoops
1.8預(yù)覽版 加強(qiáng)mysql查詢展示功能。
1.7.8 更換后臺(tái)為xadmin
tasks.task.任務(wù)
tasks.task.monitor_job #定時(shí)獲取CPU、內(nèi)存 、流量
tasks.task.clean_history_host_monitor #清除1周前的主機(jī)性能歷史記錄數(shù)據(jù)
tasks.task.cmd_job #可定時(shí)執(zhí)行命令,輸入 host,命令 即可。
注意: xadmin暫時(shí)不支持 對(duì)象權(quán)限組件django-guardian,需要設(shè)置的時(shí)候,可以登陸dadmin(為默認(rèn)admin)
注意: xadmin 認(rèn)不到 tasks任務(wù)的名字,需要的名字如下:
1.7.7 更換webssh啟動(dòng)方式。
1.7.6 代碼庫(kù)功能上線,帶分發(fā)。
1.7.4 更新ansible版本。 增強(qiáng)命令行 功能。具體方法參考ansible 模塊。
1.6 Mysql數(shù)據(jù)庫(kù)操作: 自動(dòng)審核 + 執(zhí)行 (目前只適用于Mysql)
1.4 更新django 為2.0
1.3 新增 技術(shù)文檔 板塊。
1.2 權(quán)限管理完善。 增加附件上傳下載功能。
1.1.5 新增 權(quán)限管理。 根據(jù)后臺(tái)用戶組,區(qū)分不同權(quán)限。如:在后臺(tái)先建一個(gè) 測(cè)試機(jī) 組,把普通用戶加入到此組。在前端添加資產(chǎn)時(shí),在產(chǎn)品線中會(huì)出現(xiàn)測(cè)試機(jī) 。 測(cè)試機(jī)組下的用戶 只管管理測(cè)試機(jī)產(chǎn)品線的資產(chǎn)。
1.1 新增 平臺(tái)登錄記錄、web登錄記錄、密碼修改等功能。
asset資產(chǎn)
api http://114.115.132.147:8003/asset/api/asset.html
自動(dòng)獲取服務(wù)器信息
全部導(dǎo)出
CPU 內(nèi)存 流量圖
names 用戶(預(yù)留模塊)
加密解密 password_crypt.py ## 如果是自己的生產(chǎn)環(huán)境,建議更換里面的密鑰。
tasks任務(wù)
shell
python
命令行
工具
webssh 登陸
借鑒的 github上的 https://github.com/huashengdun/webssh
library 技術(shù)文檔 (真正運(yùn)維人員的管理平臺(tái),自帶技術(shù)文檔,有問題不用再去別的地方找)
DjangoUeditor 富文本編輯器
代碼庫(kù)
代碼庫(kù)
主機(jī)分發(fā)
數(shù)據(jù)庫(kù)自動(dòng)審核-- 命令執(zhí)行 回滾
Inception
后臺(tái)管理
admin
根據(jù)后臺(tái)用戶組進(jìn)行區(qū)分。admin有最高權(quán)限。
例如:新建 運(yùn)維組、開發(fā)組 , 新建 運(yùn)維組 里面的 hequan 賬號(hào)
那么 hequan 只能看見 運(yùn)維組下面的服務(wù)器、數(shù)據(jù)庫(kù),執(zhí)行工具也只能選擇 運(yùn)維組的。 hequan 無法添加服務(wù)器、數(shù)據(jù)庫(kù)。
Python 3.6.4 #可以參考 script/install_python3.6.4.py
Django 2.0
Python 2.7 (用來啟動(dòng) supervisor)
Centos 7.4
supervisor 管理無法
uwsgi web服務(wù)啟動(dòng)
webssh
celeryd 隊(duì)列任務(wù)
celerybeat
celerycam
celeryflower
Inception mysql 數(shù)據(jù)庫(kù)審核
開發(fā)環(huán)境部署:
1. 下載,安裝基本環(huán)境,安裝目錄為/opt下,如是其他目錄,請(qǐng)修改supervisor.conf中的相應(yīng)設(shè)置即可。
cd /opt yum install git sshpass redis -y systemctl enable redis.service systemctl start redis.service git clone https://github.com/hequan2017/autoops.git cd autoops/ pip3 install -r requirements.txt cd /usr/local/src wget https://codeload.github.com/sshwsfc/xadmin/zip/django2 unzip django2 cd xadmin-django2/ python setup.py install
添加的資產(chǎn)里面, 建議執(zhí)行 yum install ipmitool dmidecode -y
以獲取更多信息
安裝 supervisor
chmod +x /opt/autoops/script/inception/bin/* pip2 install supervisor ## 沒有pip2 版本的 ,可以參考 script/install_pip2.sh echo_supervisord_conf > /etc/supervisord.conf mkdir /etc/supervisord.d/ vim /etc/supervisord.conf ##進(jìn)行相關(guān)設(shè)置 [inet_http_server] ##HTTP登錄賬號(hào)密碼 port=0.0.0.0:9001 username=user password=321 [include] files = /etc/supervisord.d/*.conf
cp /opt/autoops/script/supervisor.conf /etc/supervisord.d/
數(shù)據(jù)庫(kù): 請(qǐng)修改 autops/settings
文件, 如果沒有mysql,請(qǐng)選擇上面那種。如果有,則可以啟用mysql,設(shè)置相關(guān)連接地址。 關(guān)于mysql安裝方法,可參考我的博客 http://hequan.blog.51cto.com/5701886/1982428
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'autoops', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '192.168.10.24', 'PORT': '3306', } }
修改 autoops/settings 自定義參數(shù)
DEBUG = True ## 實(shí)際生產(chǎn)環(huán)境使用,請(qǐng)關(guān)閉 False BROKER_URL = 'redis://127.0.0.1:6379/0' ##Redis地址,一般情況不用修改 Webssh_ip = '114.115.132.147' ##WebSSH 軟件的 訪問IP,也就是本機(jī)外網(wǎng)IP,改這個(gè)地方就好了。 Webssh_port='9000' ##端口號(hào),默認(rèn)即可。如有修改,需要修改 webssh/main.py文件 define('port', default=9000, help='listen port', type=int) Inception_ip = '127.0.0.1' ## 此為 Inception 軟件地址, 默認(rèn)為本機(jī)地址,一般不用修改 Inception_port = '6669' ## 此為 Inception 軟件端口號(hào) inception_remote_system_password='654321' ## 設(shè)置回滾備份(mysql)服務(wù)器相關(guān)參數(shù),并同步修改一下 script/inc.cnf 里面的設(shè)置 inception_remote_system_user='root' inception_remote_backup_port='3306' inception_remote_backup_host='192.168.10.100' ##設(shè)置備份數(shù)據(jù)庫(kù)地址
修改一個(gè)文件 /usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py
注釋35 36 以下兩行,找不到可以忽略。
if version < (1, 3, 3): raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
由于Inception 并不原生支持pymysql,所以需更改pymysql相關(guān)源碼。
在script/ 文件夾下有已經(jīng)修改的connections.py 和 cursors.py 直接替換即可。
替換位置為 /usr/local/lib/python3.6/site-packages/pymysql
下的 connections.py 和 cursors.py
兩個(gè)文件 注: 如果想知道,修改了哪里,可參考script/備注。
cp /opt/autoops/script/connections.py /usr/local/lib/python3.6/site-packages/pymysql/connections.py cp /opt/autoops/script/cursors.py /usr/local/lib/python3.6/site-packages/pymysql/cursors.py
初始化數(shù)據(jù)庫(kù)(可刪除文件夾的 db.sqlite3)
python manage.py makemigrations python manage.py migrate python manage.py createsuperuser ##創(chuàng)建管理員
autoops 登陸的端口號(hào) 在 supervisor.conf 里面 第2行 ,默認(rèn)是 0.0.0.0:8003 。如有修改端口號(hào),請(qǐng)把supervisor 里的uwsgi 服務(wù)關(guān)閉,再啟動(dòng)。
啟動(dòng)supervisor進(jìn)程管理
/usr/bin/python2.7 /usr/bin/supervisord -c /etc/supervisord.conf
加到linux 開機(jī)啟動(dòng)里面 chmod +x /etc/rc.d/rc.local
把上面的命令放到這個(gè)文件里面
啟動(dòng): 統(tǒng)一用supervisor 管理進(jìn)程, 打開 0.0.0.0:9001 賬號(hào)user 密碼321 進(jìn)入進(jìn)程管理界面,管理uwsgi,webssh,celery,Inception 等啟動(dòng)關(guān)閉。
登陸后臺(tái),設(shè)置定時(shí)獲取主機(jī)圖,設(shè)置數(shù)據(jù)中心、用戶組。
設(shè)置定時(shí)獲取主機(jī)信息任務(wù)。 先創(chuàng)建執(zhí)行的時(shí)間頻率,再創(chuàng)建任務(wù),創(chuàng)建后,觀察隊(duì)列任務(wù)是否執(zhí)行成功。 如不成功,重啟所有supervisor中的 celery服務(wù)。
如果想在windows 下的 pycharm打開, 先pip 安裝好模塊,ansbile無法裝在windows上,忽略掉。然后注釋下面的代碼。 注釋xadmin
asset/views.py from tasks.ansible_2420.runner import AdHocRunner, CommandRunner from tasks.ansible_2420.inventory import BaseInventory tasks/views.py from tasks.ansible_2420.runner import AdHocRunner, CommandRunner from tasks.ansible_2420.inventory import BaseInventory release/views.py from tasks.ansible_2420.runner import AdHocRunner from tasks.ansible_2420.inventory import BaseInventory
如果想在生產(chǎn)環(huán)境部署、啟動(dòng), 用nginx去處理。 可以參考 http://hequan.blog.51cto.com/5701886/1982769
, 請(qǐng)把supervisor.conf
中 關(guān)于uwsgi的部分刪除掉, 用以下方式控制UWSGI的啟動(dòng) 關(guān)閉.
uwsgi --ini /opt/autoops/script/uwsgi.ini # 啟動(dòng)uwsgi配置 也可以把這個(gè)命令寫到開機(jī)的文件里面 uwsgi --stop /opt/autoops/script/uwsgi.pid # 關(guān)閉uwsgi uwsgi --reload /opt/autoops/script/uwsgi.pid #重新加載
nginx 配置文件修改如下。 此方法也要啟動(dòng) uwsgi。
root /opt/autoops; location / { include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_pass unix:/opt/autoops/script/uwsgi.sock; } location /static/ { alias /opt/autoops/static/; index index.html index.htm; }
何全
文章名稱:AutoOps1.8版本
分享鏈接:http://www.chinadenli.net/article16/ighddg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、面包屑導(dǎo)航、軟件開發(fā)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)