一、CMDB系統簡介
CMDB(Configuration Management DataBase,配置管理數據庫)是一種IT管理工具,用於記錄IT資源及其相關性,使企業更好地規劃、管理資源,並進行資源之間的關聯分析。CMDB系統可以幫助企業管理IT基礎設施,追蹤配置項並與其它ITIL流程進行集成。
CMDB系統在IT管理中起着重要作用,它不僅可用於設備管理,還可用於人員管理和事務管理等方面。CMDB系統集成了ITIL的所有過程,包括完整的配置管理、變更管理和發佈管理等。
二、CMDB系統報價
不同的CMDB系統的價格不盡相同,價格的差別取決於系統的功能和規模。目前市面上的CMDB系統價格一般在10萬到幾百萬不等。
如果你想使用開源的CMDB系統,一般不需要花費太多費用。但需要考慮到自己的實際需求,確定所需要的功能,以及項目的規模等因素,選擇適合自己的CMDB系統。
三、CMDB系統好處
CMDB系統可以幫助企業管理其IT基礎設施,優化IT服務和IT運維,提高IT管理的效率。通過CMDB系統,企業可以更加有效的管理其IT資源和相關性,幫助企業規劃、管理和控制其IT資源和相關業務活動,降低運營成本。
CMDB系統提供了一個信息中心,幫助企業控制其IT服務和基礎設施的複雜性,從而更好地管理IT資源的完整性和配置。CMDB系統還可以將企業的核心業務和IT基礎架構集成在一起,實現業務的協同。
四、CMDB系統功能
1、資產管理:CMDB系統可以幫助企業管理其所有IT硬件和軟件資源的相關信息,包括設備名稱、型號、配置信息、IP地址、負責人、關係、狀態等信息。
2、配置管理:CMDB系統可以幫助企業對IT服務和IT基礎設施進行配置管理,包括對IT基礎設施的部署、監視、測試、記錄和控制等方面進行管理。
3、變更管理:CMDB系統可以幫助企業管理IT服務和基礎設施的變更,包括變更申請、變更評估、變更批准、變更實施和變更記錄等。
4、發佈管理:CMDB系統可以幫助企業管理IT服務和基礎設施的發佈,包括發佈計劃、發佈準備、發佈驗證、發佈實施和發佈評估等。
5、事件管理:CMDB系統可以幫助企業管理IT服務和基礎設施的事件,包括事件篩選、事件分析、事件解決和事件記錄等。
6、服務水平管理:CMDB系統可以幫助企業跟蹤IT服務和IT基礎設施的運營,包括服務目標、服務水平、服務質量和服務成本等。
7、容量管理:CMDB系統可以幫助企業管理IT服務和基礎設施的容量,包括容量規劃、容量監測和容量優化等。
五、開源CMDB系統推薦
1、Open-AudIT: Open-AudIT是一個開源CMDB系統,支持Windows、Linux和Mac OS,可以幫助IT管理員輕鬆管理IT資產。
2、Ralph: Ralph是一個用於數據中心資產管理的開源CMDB系統,支持IT硬件和軟件的管理,包括網絡設備、服務器和虛擬化資源等。
3、GLPI: GLPI是一個功能齊全的IT管理工具,包括CMDB、IT服務台和網絡監控等功能,支持多種IT資源管理。
六、CMDB是什麼意思
CMDB是Configuration Management DataBase的縮寫,翻譯為配置管理數據庫。CMDB系統主要用於管理IT資源及其相關性,使企業更好地規劃、管理資源,並進行資源之間的關聯分析。
七、CMDB的全稱
CMDB的全稱是Configuration Management DataBase,中文翻譯為配置管理數據庫。它是一種IT管理工具,用於記錄IT資源及其相關性,可以幫助企業更好地規劃、管理資源。
八、運維CMDB開源架構選取
#!/usr/bin/python
# -*- coding:utf-8 -*-
# writer: gzc
# des:此腳本用於自動收集ip,交互進行安裝前的信息確認
import os
import re
import sys
import argparse
import time
import socket
import json
import urllib2
import logging
INSTALL_FILE_NAME = "omserver-2.3.3a-Linux-nodebug.tar.gz"
INSTALL_FOLDER_NAME = "omserver"
def parse_args():
global INSTALL_FILE_NAME, INSTALL_FOLDER_NAME
parser = argparse.ArgumentParser(description="opsagent install script.")
parser.add_argument("--install_file", dest="install_file_path", metavar="path/to/file",
help="opsagent install file if not use default.")
parser.add_argument("--install_path", dest="install_folder_path", metavar="/path/to/folder",
help="opsagent install folder if not use default.")
args = parser.parse_args()
if not args.install_file_path:
args.install_file_path = INSTALL_FILE_NAME
if not args.install_folder_path:
args.install_folder_path = INSTALL_FOLDER_NAME
logging.debug("Install file path is %s , Install folder path is %s" % (args.install_file_path,
args.install_folder_path))
if args.install_file_path and not os.path.isfile(args.install_file_path):
raise Exception("File not exists %s " % args.install_file_path)
return args
def check_port(port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('localhost', port))
sock.close()
if result == 0:
return True
else:
return False
def check_sudo():
user = os.environ.get('SUDO_USER')
uid = os.environ.get('SUDO_UID')
gid = os.environ.get('SUDO_GID')
# user can only by number
if not uid or not gid or uid.isdigit() or gid.isdigit() or user != uid:
print("請使用sudo指令執行此安裝腳本")
return False
return True
def check_system():
os_v, os_n, os_r, os_i, architecture = os.uname()
if os_n.lower() != "linux":
print("This script only support linux.")
return False
if architecture != "x86_64":
print("Unsupported platform:%s." % architecture)
return False
def get_ip():
myip = "unknown.ip"
try:
myip = json.load(urllib2.urlopen("http://httpbin.org/ip", timeout=2))['origin']
except:
try:
myip = json.load(urllib2.urlopen('http://icanhazip.com', timeout=2)).strip() + "\ticanhazip"
except:
try:
myip = json.load(urllib2.urlopen('http://ip.42.pl/raw', timeout=2)).strip() + "\tip.42.pl"
except:
pass
return myip
def pre_install_confirm(args):
global INSTALL_CONFIG
ip_address = get_ip()
if not check_sudo():
sys.exit(1)
if not check_system():
sys.exit(1)
install_confirm = raw_input("""Start OpsAgent install?
______ _ _ _
|__ ___| |_|___ ___ _ __ ___
| |_ | __/ _ \/ __| '__/ _ \\
| |___| || (_) \__ \ | | (_) |
|____/ \__\___/|___/_| \___/
The installation directory is %s
Press Y to continue: """ % args.install_folder_path)
if install_confirm.lower() != "y":
sys.exit(1)
check_port_confirm = raw_input("""It will check whether port 21020&21021 is free.
Press Y to continue: """)
if check_port_confirm.lower() != "y":
sys.exit(1)
if not check_port(21020) and not check_port(21021):
return
if not check_port(21020):
print("\n\nPort 21020 already in use, please exit or kill the program occupying the port")
sys.exit(1)
if not check_port(21021):
print("\n\nPort 21021 already in use, please exit or kill the program occupying the port")
sys.exit(1)
INSTALL_CONFIG["myIp"] = ip_address
INSTALL_CONFIG["hostname"] = socket.gethostname()
if socket.gethostname() == ip_address:
print("*** Warning ***")
print("Your host name is the same as the IP address, Are you sure it's not a loopback address?(y/n)")
install_confirm = raw_input()
if install_confirm.lower() != "y":
sys.exit(1)
def install_server(args):
global INSTALL_CONFIG
logging.info("Install agent start...")
os.system("mkdir -p %s" % args.install_folder_path)
os.system("tar xvf %s -C %s >/dev/null" % (args.install_file_path, args.install_folder_path))
logging.info("agent package extracted to %s" % args.install_folder_path)
try:
os.system("rm -f /usr/bin/opendatatunnel_*")
os.system("ln -s %s/%s/odt/bin/opendatatunnel /usr/bin/opendatatunnel" % (
args.install_folder_path, INSTALL_CONFIG["version"]))
except:
logging.error("install opendatatunnel failed.")
os.system("echo install success. Log in %s/odt/logs for details." % args.install_folder_path)
logging.info("Install agent end.")
if __name__ == '__main__':
INSTALL_CONFIG = {
"version": "2.3.3a",
"serverPort": 21020,
"exposeTime": 60,
"engineInterval": 10,
"loglevel": "INFO",
"logfile": "/var/log/opendatatunnel/opendatatunnel.log",
"myIp": None,
"hostname": None,
}
log_file = "/var/log/opsagent_install.log"
logging.basicConfig(filename=log_file, level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s')
logging.getLogger().addHandler(logging.StreamHandler())
try:
args = parse_args()
pre_install_confirm(args)
install_server(args)
except Exception as ex:
logging.error(ex)
sys.exit(1)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/293484.html
微信掃一掃
支付寶掃一掃