CMDB

一、总结

  • 企业中所有用的服务器的版本都是linux的版本。ubunta,Centos,Suse,Solaries,RedHat

  • Centos 现在主流版本是 6 和 7 ,6和7的命令都差不多

  • 企业中,宿主机连接虚拟机或者线上的测试机等服务器的话,一般使用 xshell 连接。SecureCRT,putty。在MAC下,连接服务器的话,使用mac自带的terminal,还可以使用 finallshell

  • 启动虚拟机使用vmware软件,还可以使用 virtualbox

  • linux的命令 鸟哥的linux私房菜

  • windows和linux常用的远程链接工具有:xshell        putty    securecrt
二、网络相关常见命令

1.hostname  命令

  hostname        显示主机名字

  hostname –f     显示完整的主机名和域名

  hostname –i      显示当前机器的 ip 地址

2.ping  命令

    ping     将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包 windows中的ping,只执行4次,linux中一直ping下去

3.查看IP信息 命令

  • ifconfig

在6 下面可以使用 查看用户网络配置。它显示当前网络设备配置

  • ip addr

在6 和 7 下面都可以使用

4.清屏的 命令

clear 或者 crtl+l

5.netstat  表示 查看 linux端口信息的(检测网络主机是否可达)

netstat -natup

例子:netstat -tunlp | grep 8080   表示  查看是什么进程占用8080 端口

6.ps 命令

ps -aux 是列出当前服务器上所有的进程

| : 管道符 , 将左边执行的命令结果传给右边进行操作

grep : 用来进行筛选过滤

例子:

ps -aux | grep mysql : 查看mysql所有的相关进程

7.kill 、pkill命令

杀死某一个进程 kill 服务的进程号

kill -9 服务的进程号               -9:表示强制杀死

pkill 服务名                           例子: 杀掉服务进程 pkill redis

8.service

centos6的系统:

service命令能够将目录“/etc/init.d/”中有关网络服务或系统服务、脚本程序以一种统一的格式执行,

 格式为:“service 脚本程序 选项”,常用选项有:status、stop、start、restart。service命令使用举例如下:

  • service 服务名 status                   : 查看某一个服务的状态

  • service sshd status                      : 查看sshd服务的状态

  • service 服务名 stop                             : 关闭某一个服务

    • service sshd stop                        : 关闭sshd服务

  • service 服务名 start                              : 启动一个服务

    • service sshd start                        : 启动ssh的服务

  • service 服务名 restart                            : 重新启动一个服务

    • service sshd restart                     : 重新启动ssh的服务

centos 7的系统:

systemctl status 服务名

systemctl start 服务名

systemctl restart 服务名

8.top 命令  表示linux任务管理器,查看系统负载状态,动态进程信息的

9.wget

例子:wget curl   表示下载软件包 

10.last 命令 表示  用户最后登录信息

11、find 命令  表示找出什么  例子:find -name.txt  找出当前目录以及其子目录所有扩展名为 .txt 的文件

12、exit  表示 退出会话(退出交互式shell)

13、ssh 

       例子: ssh root@123.206.16.61 表示 远程登录 ip为23.206.16.61 的服务器

14、chgrp 

     例子:chgrp alex test.py     表示 修改test.py的属组为alex

三、vim的使用

0.  lrz        sz

  • rz: 上传文件

  • sz:下载文件

1.安装:yum install vim*

:q                      退出 (不保存)

:q!                     强制退出

:wq                   保存并退出

:set number     显示行号

:set nonumber   隐藏行号

/apache            在文档中查找apache 按n跳到下一个,shift+n上一个

yyp                   复制光标所在行,并粘贴

h(左移一个字符←)
j(下一行↓)
k(上一行↑)
l(右移一个字符→)

2.查看磁盘的使用情况

df -h

3.查看cpu的具体情况

cat /proc/cpuinfo

4.tree

yum install tree 查看当前目录下面的所有文件和文件夹

5.history

记录历史命令, 一般记录1000条左右 执行历史记录的话, !命令行号

6.查看linux发行版信息:  cat/etc/os-release

命令的视频

https://www.cnblogs.com/passzhang/p/8552757.html linux 全部都是一些命令

  • web方向 (BBS, 路飞学成) (Django,Flask, torando) php java web

  • 爬虫和数据分析 (php, java) ,数据分析用的是 R语言 

  • 自动化运维 (saltstck, ansible) Python  80%的开发,20%的运维

  • 人工智能和机器学习

四、传统运维和自动化运维的对比

1.企业中,项目的发布流程

产品经理调研需求 ---->三方开会讨论(开发,产品,运维,测试) -----> 开发进行开发产品 ----> 测试流程 (黑盒和白盒测试) -----> 上线

01、传统的上线流程:

SVN 开发 将代码压缩一下发给运维,运维拿到代码之后,然后将代码解压缩,部署到服务器上,启动服务

好处:流程比较简单

坏处: 服务器多的话,部署就非常的慢,影响上线的进度

02、自动化运维的流程:

例子1:搞一个web的系统,勾选发布的机器,上传代码, 进行发布

 

 

 

上述系统(上图)需要知道服务器的基本信息(元信息)

例子2:监控系统

 

 

需要监控服务器的CPU使用率,磁盘大小(>90%,报警),内存使用率

上述系统(上图)需要知道服务器的基本信息

五、CMDB

 

 

1.概念介绍

通过上面的例子2(监控系统),需要做一个基石项目,提供服务器的基础信息(服务器的磁盘,cpu, 内存等),

这个基石项目叫做CMDB Configure Manage DataBase 中文叫 配置 管理数据库主要用来 收集 服务器的基础信息

2.架构图方案

方案一、agent(代理)

 

 

缺点:每部署一台服务器,都要放同一份代码

问:如何获取服务器的信息? 答:执行对应的linux命令 (ip:ifconfig)

 

问:如何使用Python代码来执行linux的命令? 答:subprocess模块来执行linux命令

问:为啥post中没有收到数据,而body中有 ?答:django根据你http协议的头信息来判断,

                                                                                如果 content-type: application/form-url-encode的话,django会将body中的数据付给post。

                                                                                如果 content-type: application/json的话,django不会将body中的数据付给post

总结:

整个架构方案,分成3部分, 客户端采集,API数据分析,数据展示

方案二:ssh实现方式

 

总结

 

参考资料: http://lupython.gitee.io/

 

 

 

 

posted @ 2020-03-25 20:58  薛定谔的猫66  阅读(884)  评论(0)    收藏  举报