1import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,d as n,o as h}from"./app-C5saRPSp.js";const l={};function t(k,s){return h(),a("div",null,s[0]||(s[0]=[n(`<h1 id="cmdb" tabindex="-1"><a class="header-anchor" href="#cmdb"><span>cmdb</span></a></h1><blockquote><p>CMDB èµäº§ç®¡çç³»ç»</p></blockquote><h2 id="å¨çº¿æ¼ç¤º" tabindex="-1"><a class="header-anchor" href="#å¨çº¿æ¼ç¤º"><span>å¨çº¿æ¼ç¤º</span></a></h2><p><a href="http://cmdb.xyz" target="_blank" rel="noopener noreferrer">http://cmdb.xyz</a><br> ç¨æ·åï¼admin å¯ç ï¼cmdbcmdb (请ä¸è¦ä¿®æ¹)</p><h2 id="ç¹æ§" tabindex="-1"><a class="header-anchor" href="#ç¹æ§"><span>ç¹æ§</span></a></h2><ul><li>çæ·»å å é¤è¡¨ èªå®ä¹å段类å</li><li>RESTåå端åç¦»æ¶æ 弿¾ææAPIæ¥å£</li><li>强大çæç´¢æ¥æ¾è½åï¼å端使ç¨elasticsearchå卿°æ® ï¼ å¯ä»¥é åkibana使ç¨</li><li>æ¯ææ¥çæ°æ®ä¿®æ¹è®°å½</li><li>表级æé管ç</li><li>容å¨å¿«éé¨ç½²</li></ul><h3 id="å端" tabindex="-1"><a class="header-anchor" href="#å端"><span>å端</span></a></h3><ul><li>Vue</li><li>Element-ui</li><li>Vue-Router</li><li>Vuex</li><li>Axios</li></ul><h3 id="å端" tabindex="-1"><a class="header-anchor" href="#å端"><span>å端</span></a></h3><ul><li>Python3</li><li>Django 1.11</li><li>Django REST framework</li><li>Elasticsearch</li><li>Mysql</li><li>LDAP</li><li>uwsgi</li><li>Nginx</li><li>Docker</li></ul><h2 id="å端-1" tabindex="-1"><a class="header-anchor" href="#å端-1"><span>å端</span></a></h2><p><a href="https://github.com/open-cmdb/cmdb-web" target="_blank" rel="noopener noreferrer">https://github.com/open-cmdb/cmdb-web</a></p><h2 id="å¿«éå¼å§" tabindex="-1"><a class="header-anchor" href="#å¿«éå¼å§"><span>å¿«éå¼å§</span></a></h2><p>åå¤ä¸å°å¯ä»¥è®¿é®äºèç½çcentosæå¡å¨ï¼å å大äºçäº4Gï¼ å°ä¸é¢ä»£ç ä¿åå°install_cmdb.py æ§è¡sudo python install_cmdb.py</p><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;">#!/usr/bin/env python2</span></span> 2<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># -*- coding: utf-8 -*-</span></span> 3<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> os</span></span> 4<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> subprocess</span></span> 5<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> argparse</span></span> 6<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> time</span></span> 7<span class="line"></span> 8<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;">cmd</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 9<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> if</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> subprocess.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">call</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(cmd, </span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;">shell</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">True</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 10<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> raise</span><span style="--shiki-light:#0184BC;--shiki-dark:#ABB2BF;"> Exception</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> æ§è¡å¤±è´¥"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">format</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(cmd))</span></span> 11<span class="line"></span> 12<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">
12 install_docker</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 13<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo yum install -y yum-utils device-mapper-persistent-data lvm2"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 14<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 15<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo yum makecache fast"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 16<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo yum -y install docker-ce"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 17<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> if</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">not</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> os.path.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">exists</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"/etc/docker"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)):</span></span> 18<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"mkdir -p /etc/docker"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 19<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> with</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> open</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"/etc/docker/daemon.json"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"w"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">) </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">as</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> f:</span></span> 20<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> f.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">write</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">'{</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\n</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "registry-mirrors": ["https://9f4w4icn.mirror.aliyuncs.com"] </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\n</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 21<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo systemctl daemon-reload"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 22<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo systemctl start docker"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 23<span class="line"></span> 24<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> create_dir</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 25<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> if</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> (</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">not</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> os.path.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">exists</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"/var/cmdb/db"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)):</span></span> 26<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo mkdir -p /var/cmdb/db"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 27<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> if</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> (</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">not</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> os.path.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">exists</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"/var/cmdb/es"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)):</span></span> 28<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo mkdir -p /var/cmdb/es"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 29<span class="line"></span> 30<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> run_db_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 31<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo docker run --name cmdb-db -d -e MYSQL_ROOT_PASSWORD=cmdbcmdb -v /var/cmdb/db:/var/lib/mysql mysql:5.7.21"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 32<span class="line"></span> 33<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> run_es_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 34<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo docker run --name cmdb-es -d -v /var/cmdb/es:/usr/share/elasticsearch/data elasticsearch:5.6.8"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 35<span class="line"></span> 36<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> init_db</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 37<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo docker run -it --rm --link cmdb-db -e DB_HOST=cmdb-db -e ENV=PRO -e DB_PORT=3306 -e DB_USERNAME=root -e DB_PASSWORD=cmdbcmdb -e DB_NAME=cmdb mingmingtang/cmdb init-db"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 38<span class="line"></span> 39<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> run_cmdb_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;">site_url</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;"> email_host</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;">
39 email_port</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;"> email_username</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;"> email_password</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 40<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> base</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"sudo docker run -d --name cmdb --link cmdb-db --link cmdb-es -p 80:80 -e ENV=PRO -e SITE_URL=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> -e DB_HOST=cmdb-db -e DB_PORT=3306 -e DB_USERNAME=root -e DB_PASSWORD=cmdbcmdb -e DB_NAME=cmdb -e ELASTICSEARCH_HOSTS=cmdb-es -e EMAIL_HOST=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> -e EMAIL_PORT=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> -e EMAIL_USERNAME=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> -e EMAIL_PASSWORD=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> mingmingtang/cmdb start"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">format</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(site_url, email_host, email_port, email_username, email_password))</span></span> 41<span class="line"></span> 42<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;">help</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 43<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> value </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ""</span></span> 44<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> while</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">not</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> value):</span></span> 45<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> value </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;"> raw_input</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">help</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 46<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> return</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> value</span></span> 47<span class="line"></span> 48<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">if</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;"> __name__</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;"> ==</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '__main__'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span> 49<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> if</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(os.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">geteuid</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">() </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">!=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 50<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> raise</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"请以rootæéè¿è¡"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 51<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser = argparse.ArgumentParser()</span></span> 52<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser.add_argument("--siteurl", type=str, help="E.g: http://cmdb.xxx.com, http://172.17.100.1")</span></span> 53<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser.add_argument("--emailhost", type=str, help="E.g: http://cmdb.xxx.com, http://172.17.100.1")</span></span> 54<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser.add_argument("--emailport", type=str, help="E.g: http://cmdb.xxx.com, http://172.17.100.1")</span></span> 55<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser.add_argument("--emailusername", type=str, help="E.g: http://cmdb.xxx.com, http://172.17.100.1")</span></span> 56<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # parser.add_argument("--emailpassword", type=str, help="E.g: http://cmdb.xxx.com, http://172.17.100.1")</span></span> 57<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # args = parser.parse_args()</span></span> 58<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # SITE_URL = args.SITE_URL</span></span> 59<span class="line"></span> 60<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> site_url </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"请è¾å ¥ç½ç«ååæIPï¼http://cmdb.xxx.comï¼ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 61<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> email_host </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"ç½ç«é®ç®±æå¡å¨ï¼smtp.163.comï¼ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 62<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">
62 email_port </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"é®ç®±æå¡å¨ç«¯å£ï¼25ï¼ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 63<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> email_username </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"é®ç®±ç¨æ·åï¼[email protected]ï¼ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 64<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> email_password </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> input_para</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"é®ç®±å¯ç |ç¬ç«ææç ï¼P@ssw0rdï¼ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 65<span class="line"></span> 66<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§å®è£ docker"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 67<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> install_docker</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 68<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§å建ç®å½"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 69<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> create_dir</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 70<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§è¿è¡mysql容å¨"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 71<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> run_db_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 72<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§è¿è¡elasticsearch容å¨"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 73<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> run_es_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 74<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"çå¾ æ°æ®åºå¯å¨å®æ(10s)"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 75<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> time.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">sleep</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">10</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 76<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§åå§åæ°æ®åº"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 77<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> init_db</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 78<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"å¼å§è¿è¡cmdb"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 79<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> run_cmdb_container</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(site_url, email_host, email_port, email_username, email_password)</span></span> 80<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"宿ï¼"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="æå·¥é¨ç½²" tabindex="-1"><a class="header-anchor" href="#æå·¥é¨ç½²"><span>æå·¥é¨ç½²</span></a></h2><p>å å®è£ 好Elasticsearch(5.6) å Mysql(5.7) å ¶å®çæ¬æªæµè¯</p><h3 id="容å¨åç§°" tabindex="-1"><a class="header-anchor" href="#容å¨åç§°"><span>容å¨åç§°</span></a></h3><p>mingmingtang/cmdb</p><h3 id="åå§åæ°æ®åº" tabindex="-1"><a class="header-anchor" href="#åå§åæ°æ®åº"><span>åå§åæ°æ®åº</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">
80docker</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> run</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -it</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --name</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> cmdb-init-db</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --rm</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_HOST=æ°æ®åºå°å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ENV=PRO</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PORT=æ°æ®åºç«¯å£</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_USERNAME=æ°æ®åºç¨æ·å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PASSWORD=æ°æ®åºå¯ç </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_NAME=cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> mingmingtang/cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> init-db</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>示ä¾ï¼</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">docker</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> run</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -it</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --name</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> cmdb-init-db</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --rm</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_HOST=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">172.16.0.11</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ENV=PRO</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PORT=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">3306</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_USERNAME=root</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PASSWORD=</span><span style="--shiki-light:#E45649;--shiki-dark:#E5C07B;">********</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_NAME=cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> mingmingtang/cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> init-db</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="è¿è¡cmdb" tabindex="-1"><a class="header-anchor" href="#è¿è¡cmdb"><span>è¿è¡CMDB</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">
80docker</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> run</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -d</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --name</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> cmdb</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -p</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 80:80</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ENV=PRO</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> SITE_URL=ç½ç«å°å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_HOST=æ°æ®åºå°å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PORT=æ°æ®åºç«¯å£</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_USERNAME=æ°æ®åºç¨æ·å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PASSWORD=æ°æ®åºå¯ç </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_NAME=cmdb</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ELASTICSEARCH_HOSTS=ESå°åï¼å¤ä¸ªç¨è±æéå·éå¼ï¼æ ¼å¼http://xx.xx.xx.xx:9200</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_HOST=é®ç®±smtpå°å</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_PORT=é®ç®±smtp端å£</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_USERNAME=åä»¶ç®±</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_PASSWORD=é®ç®±å¯ç </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> mingmingtang/cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> start</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>示ä¾ï¼</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">docker</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> run</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -d</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --name</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> cmdb</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -p</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 80:80</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ENV=PRO</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> SITE_URL=http://120.79.60.130</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_HOST=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">172.16.0.11</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PORT=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">3306</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_USERNAME=root</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_PASSWORD=</span><span style="--shiki-light:#E45649;--shiki-dark:#E5C07B;">********</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> DB_NAME=cmdb</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ELASTICSEARCH_HOSTS=http://127.0.0.1:9200</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_HOST=smtp.163.com</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_PORT=</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">25</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> [email protected]</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -e</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> EMAIL_PASSWORD=</span><span style="--shiki-light:#E45649;--shiki-dark:#E5C07B;">********</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> mingmingtang/cmdb</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> start</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div>
80<h1 id="åèèµæ" tabindex="-1"><a class="header-anchor" href="#åèèµæ"><span>åèèµæ</span></a></h1><p><a href="https://github.com/open-cmdb/cmdb" target="_blank" rel="noopener noreferrer">https://github.com/open-cmdb/cmdb</a></p><h2 id="ç¥ä¹é¾æ¥" tabindex="-1"><a class="header-anchor" href="#ç¥ä¹é¾æ¥"><span>ç¥ä¹é¾æ¥</span></a></h2><p><a href="https://zhuanlan.zhihu.com/p/34191320" target="_blank" rel="noopener noreferrer">https://zhuanlan.zhihu.com/p/34191320</a></p>`,31)]))}const d=i(l,[["render",t]]),r=JSON.parse('{"path":"/posts/CMDB/2025-07-13-cmdb-04-opensource-open-cmdb-cmdb.html","title":"cmdb-04-弿ºé¡¹ç® open-cmdb/cmdb","lang":"zh-CN","frontmatter":{"title":"cmdb-04-弿ºé¡¹ç® open-cmdb/cmdb","date":"2025-07-13T00:00:00.000Z","categories":["CMDB"],"tags":["cmdb","sh"],"published":true,"description":"cmdb CMDB èµäº§ç®¡çç³»ç» å¨çº¿æ¼ç¤º http://cmdb.xyz ç¨æ·åï¼admin å¯ç ï¼cmdbcmdb (请ä¸è¦ä¿®æ¹) ç¹æ§ çæ·»å å é¤è¡¨ èªå®ä¹å段类å RESTåå端åç¦»æ¶æ 弿¾ææAPIæ¥å£ 强大çæç´¢æ¥æ¾è½åï¼å端使ç¨elasticsearchå卿°æ® ï¼ å¯ä»¥é
åkibanaä½¿ç¨ æ¯ææ¥çæ°æ®ä¿®æ¹è®°å½ 表级æé管ç 容å¨å¿«é...","head":[["meta",{"property":"og:url","content":"https://houbb.github.io/blog-devops/posts/CMDB/2025-07-13-cmdb-04-opensource-open-cmdb-cmdb.html"}],["meta",{"property":"og:site_name","content":"è马å¸è¥¿é£"}],["meta",{"property":"og:title","content":"cmdb-04-弿ºé¡¹ç® open-cmdb/cmdb"}],["meta",{"property":"og:description","content":"cmdb CMDB èµäº§ç®¡çç³»ç» å¨çº¿æ¼ç¤º http://cmdb.xyz ç¨æ·åï¼admin å¯ç ï¼cmdbcmdb (请ä¸è¦ä¿®æ¹) ç¹æ§ çæ·»å å é¤è¡¨ èªå®ä¹å段类å RESTåå端åç¦»æ¶æ 弿¾ææAPIæ¥å£ 强大çæç´¢æ¥æ¾è½åï¼å端使ç¨elasticsearchå卿°æ® ï¼ å¯ä»¥é
åkibanaä½¿ç¨ æ¯ææ¥çæ°æ®ä¿®æ¹è®°å½ 表级æé管ç 容å¨å¿«é..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-08-22T03:56:27.000Z"}],["meta",{"property":"article:tag","content":"cmdb"}],["meta",{"property":"article:tag","content":"sh"}],["meta",{"property":"article:published_time","content":"2025-07-13T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-08-22T03:56:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"cmdb-04-弿ºé¡¹ç® open-cmdb/cmdb\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-07-13T00:00:00.000Z\\",\\"dateModified\\":\\"2025-08-22T03:56:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"è马å¸è¥¿é£\\",\\"url\\":\\"https://houbb.github.io\\"}]}"]]},"git":{"createdTime":1755834987000,"updatedTime":1755834987000,"contributors":[{"name":"binbin.hou","username":"","email":"[email protected]","commits":1}]},"readingTime":{"minutes":3.09,"words":928},"filePathRelative":"posts/CMDB/2025-07-13-cmdb-04-opensource-open-cmdb-cmdb.md","localizedDate":"2025å¹´7æ13æ¥","excerpt":"\\n<blockquote>\\n<p>CMDB èµäº§ç®¡çç³»ç»</p>\\n</blockquote>\\n<h2>å¨çº¿æ¼ç¤º</h2>\\n<p><a href=\\"http://cmdb.xyz\\" target=\\"_blank\\" rel=\\"noopener noreferrer\\">http://cmdb.xyz</a><br>\\nç¨æ·åï¼admin å¯ç ï¼cmdbcmdb (请ä¸è¦ä¿®æ¹)</p>\\n<h2>ç¹æ§</h2>\\n<ul>\\n<li>çæ·»å å é¤è¡¨ èªå®ä¹å段类å</li>\\n<li>RESTåå端åç¦»æ¶æ 弿¾ææAPIæ¥å£</li>\\n<li>强大çæç´¢æ¥æ¾è½åï¼å端使ç¨elasticsearchå卿°æ® ï¼ å¯ä»¥é
åkibana使ç¨</li>\\n<li>æ¯ææ¥çæ°æ®ä¿®æ¹è®°å½</li>\\n<li>表级æé管ç</li>\\n<li>容å¨å¿«éé¨ç½²</li>\\n</ul>","autoDesc":true}');export{d as comp,r as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.