远程连接Windows Server2008 未安装任何音频输出设备 启用声音音频解决 声音问题

之前使用windows server 2008 R2,都没有用的声音播放的功能,所以一般情况下都不安装声卡驱动,或者装了也没用上,所以也没发现问题。今天正好有个项目需要用声卡播放告警语音,所以需要用到声卡来播放。

结果使用主板厂家提供个的win7_win8声卡驱动,安装上去,发现状态栏上的喇叭图标一直显示叉叉,质询主板厂家技术支持,得到的答复还是比较让人抓狂的,就是让我装win7的系统,WDF。

尝试了用驱动精灵,或者下载声卡原厂驱动也无果后,差点就放弃了。突然一想,可能不是驱动的问题,而是server的问题,果然,baidu了一下,找到了解决的办法:

1. 开启系统服务:Windows Audios和AudioEndpointBuilder。

2. 打开组策略(gpedit.msc),找到管理模板>Windows 组建>远程桌面服务>远程桌面会话主机>设备和资源重新定向>允许音频和视频重定向,双击编辑启用该项。

 

winXP或win2003具体方法:开始>运行>gpedit.msc打开组策略依次点:计算机配置>管理模板>终端服务>客户端/服务器。右边有一个“允许音频重定向”,设置为“已启用”,注销后再登录就OK了。

    win7或win2008r2具体方法:开始>运行>gpedit.msc打开组策略依次点:计算机配置>管理模板>Windows组建>远程桌面服务>远程桌面会话主机>设备和资源重新定向。右边有一个“允许音频和视频播放重定向”,设置为“已启用”,注销后再登录就OK了。

3. 重启,解决问题

另外,声卡问题解决了,但是软件还可能播放不了声音,因为软件调用的是windows meidia player的控件,而windows server 2008R2默认没有安装wmp。解决办法:

打开服务器管理器,选择功能项下的添加功能,并添加“桌面体验”选型,确定,重启即可。

 

数据库 SQL Server 2008 R2 (x64)企业版

Microsoft SQL Server 2008 R2 提供完整的企业级技术与工具,帮助您以最低的总拥有成本获得最有价值的信息。您可以充分享受高性能,高可用性,高安全性,使用更多的高效管理与开发工具,利用自服务的商业智能实现更为广泛深入的商业洞察。

Server 2008 R2功能

SQL Server 2008 R2引进了一系列新功能帮助各种规模的业务从信息中获取更多价值。改进的SQL Server 2008 R2增强了开发能力,提高了可管理性,强化了商业智能及数据仓库。
两个新版本可用于大规模数据中心和数据仓库:SQL Server 2008 R2 数据中心版和 SQL Server 2008 R2 并行数据仓库版。这两个豪华版本增强了企业级的伸缩性,例如它们为最苛刻的工作负荷提供了更有力的支持,为应用程序和数据中心的服务器提供更有效率的管理。
通过增强核心版本解决业务难题:SQL Server 2008 R2 Standard和SQL Server 2008 R2 Enterprise。新的改进包括:PowerPivot for Excel 和 PowerPivot for SharePoint 支持大量复杂事件处理和可托管的自助式商业智能。

Server 2008 R2特性

为任何规模的应用提供完备的信息平台。可管理的,熟悉的自服务商业智能(BI)工具。支持大规模数据中心与数据仓库。支持平滑建立与扩展应用到云端与微软的应用平台紧密集成。

支持的操作系统

Windows 7, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP

系统内存:

最小 1 GB(建议 4 GB或以上)

硬盘:

最小 1 GB 的可用硬盘空间。

处理器:

X86:

兼容的 Pentium III 处理器或更快处理器(处理器速度 – 1.0 GHz 或更快)

X64:

最小值:AMD Opteron、AMD Athlon 64、支持 Intel EM64T 的 Intel Xeon、支持 EM64T 的 Intel Pentium IV(处理器速度 – 1.0 GHz 或更快)

SQL Server 2008 R2密钥序列号

序列号:

开发版(Developer): PTTFM-X467G-P7RH2-3Q6CG-4DMYB

企业版(Enterprise): JD8Y6-HQG69-P9H84-XDTPG-34MBB

Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB

Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB

数据中心版:

PTTFM-X467G-P7RH2-3Q6CG-4DMYB(可用,已验证)

DDT3B-8W62X-P9JD6-8MX7M-HWK38(待测)

开发版:

MC46H-JQR3C-2JRHY-XYRKY-QWPVM (可用,已验证)

FTMGC-B2J97-PJ4QG-V84YB-MTXX8(待测)

企业版:

R88PF-GMCFT-KM2KR-4R7GB-43K4B (可用,已验证)

GYF3T-H2V88-GRPPH-HWRJP-QRTYB(待测)

标准版:

B68Q6-KK2R7-89WGB-6Q9KR-QHFDW(待测)

CXTFT-74V4Y-9D48T-2DMFW-TX7CY(待测)

工组版:

XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q(待测)

WEB版:

FP4P7-YKG22-WGRVK-MKGMX-V9MTM(待测)

英文版en_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_520517.iso

网盘下载 : https://pan.baidu.com/s/1slFIYGd 密码: 9n9a

中文版 cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso

网盘下载 : https://pan.baidu.com/s/1o7S0nlK 密码: m4ye

电驴下载:

ed2k://|file|cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso|4662884352|1DB025218B01B48C6B76D6D88630F541|/

华为三层交换机S5700-24P-SI连接配置

温馨提示:新买的华为三层交换机S5700默认情况设备是没有任何地址,但是WEB默认是开启的,只需要设置一个IP就可以了。

先将USB-console线连接交换机console接口;

连接方式:用超级终端连接相关属性

连接方式2:CRT

选择对应的COM端口,9600波特率。流控把所有的勾去掉,这才能成功连接交换机

第一次连接上交换机后,会提示你配置交换机的管理密码,输入后回车,再输入一次确认回车。

此时来到命令行

<Quidway>

默认交换机是没有初始IP的,那么我们先来配置一个(同时将电脑网线与交换机上的任意以太网口连接)

<Quidway>sys

[Quidway]int vlan 1

[Quidway vlan 1]ip add 192.168.1.2 255.255.255.0     (这里配置的IP地址要和电脑网线IP是同个网段哦,访问web界面要用)

[Quidway vlan 1]q (退出)

[Quidway]q (退出)

好了,交换机Vlan1 IP配置完毕。

ETH独立IP设置命令:

MEth 0/0/1 属于管理口

<Quidway>system-view        //进入系统配置模式

[Quidway]interface MEth 0/0/1        //配置ETH 管理端口

[Quidway]ip adddress 192.168.1.254 255.255.255.0        //设置管理ip地址

[Quidway]quit         //返回上级设置 

[Quidway]save       //保存配置

设置登陆密码:

<Quidway>dir

发现有个web.7z的文件,这就是web管理页面的文件包,记下完整文件名下面要用。

<Quidway>sys      (进入系统视图)

[Quidway]http server load web.7z    (加载web包)

[Quidway]http server enable      (开启http服务)

[Quidway]aaa      (进入aaa视图)

[Quidway-aaa]local-user admin password cipher Admin123   (配置管理账号与密码)

[Quidway-aaa]local-user admin privilege level 3     (配置管理账号级别)

[Quidway-aaa]local-user admin service-type http    (配置接入类型为http)

[Quidway-aaa]q     (退出)

[Quidway]q      (退出)

<Quidway>save       (保存)

Y     (确认)

 

如果设备本身支持web但是没有加载文件,需加载web文件

<quidway>dir                       显示当前路径和相及web等相关文件

在dir下面信息找到xxxxxx.web.zip

<quidway>system-view

[quidway]http server load xxxxxx.web.zip  加载系统本身自带的web文件

加载成功后开启web服务

[quidway]http server enable  开启http服务

新建web用户登录用户名和密码及赋予权限

<quidway>system-view

[quidway]aaa

[quidway-aaa]local-user xxx password cipher|simper xxx  设置用户名和密码

[quidway-aaa]local-user xxx  server-type http 给xxx用户设置http登录模式

[quidway-aaa]local-user xxx priviledge level 3-15 给xxx用户设置http登录等级否则只有ping和Tracert功能

[quidway-aaa]quit

保存命令以保证断电后配置不会丢失

进入到<quidway>save

然后按Y等待一会即可

设置完成之后既可以登陆

电脑指定IP地址如192.168.1.2

Ping 192.168.1.2是否通

 

 

附:查看相关版本命令:display  cur-configuation

查看接口对于的IP地址 display arp

将设备恢复出厂设置 reset saved-configuation

查看端口位置:display interface brief

查看光模块display transc eiver interace  端口 verbose       //查看光模块光信息

打印机不能打印 摆脱“无法连接”困扰

在我们日常工作中,常常遇到打印机无法正常工作,这样我们的工作也受到一定的影响。打印机无法工作的情况有很多种,在这里我不再赘述。当然,打印机无法正常连线也是困然我们的一大难题,这种问题也常常有很多原因,例如:脱机、后台程序不支持等等,当我们遇到打印机无法连接的情况,我们不要着急,一步步地检查打印机出现的问题,以便消除困扰,让打印机正常的工作。在这里,我们综合了一下打印机无法连接的常见问题,希望对各位打印机用户提供到切实可行的解决方案。

首先,打印机没有处于工作模式,没有打开或者电源没有连接又或者是电源插头没有插好,这是导致打印机无法连接最简单的原因。遇到这种情况,我们只要确保打印机处于工作模式下,如果切实出现这种问题,我们只用检查打印机的电源线,查看电源插头有没有插好,实在不行尝试着换一个电源线。这种情况是导致打印机无法连线的最容易解决的问题,如果打印机已经处在打开状态,那么不要慌,别的地方一定出了问题,我们下文会讲到。

如果打印机处于工作模式,那么就要从数据连接问题上着手,在这种情况下十分复杂,我们知道现在的打印机可以分为很多种,如USB连接、网络、无线或者蓝牙。而在网络连接的情况下,又可以分为很多种,如:简单共享打印机、工作组打印机以及域打印机。而这些网络打印机情况相当复杂,我们先简单的考虑一下电脑和打印机基本的数据连接。在USB连接的情况下,我们需要确认USB有没有插好,尝试重插或者换一条USB线。

USB没有插好

插好之后

在网络打印机情况下,我们先确保网络处于打开状态,如果路由器打开状态,那么我们得确认IP地址是否发生改变,如果IP修改那么得重新输入更换后的IP地址。当然现在说的都是些简单的问题,只要我们细心一点不难解决。

[#page_脱机导致打印机无法连接#3#792#0#0#]

●脱机导致打印机无法连接

在确保电源和数据连接都正常的情况下,我们应当考虑一下,打印机是否处于脱机状态,而打印机脱机的情况困扰了我们一大部分用户,在脱机状态下网络和共享打印机恢复的方法一样。在这里需要特别提出的是,我们恢复脱机必须先保证电源和数据连接正常,也就是打印机处在“就绪状态下”,而USB连接与否也可能导致脱机,所以首先要确保电源和USB插好。

脱机状态下的打印机

在确保上述之后,我们应先清除打印任务,鼠标移动至打印机图标后,就会显示打印队列中有几个打印文档(如图‘脱机状态下的打印机’),如果队列中存在若干个文档,我们首先要做的就是清除这些文档排队,在这里笔者用的是win7系统,打印机是HP LaserJet Pro MFP M126nw,由于系统和打印机不太一样所以菜单可能有些许差别(带来不便,万望谅解)。

点击“查看正在打印什么”

首先我们点击开始(运行键),在操作面板上找到“设备和打印机”,点击它进入上图界面,然后我们点击“查看正在打印什么”进入打印机正在或将要打印的文档排队界面,紧接着我们点击屏幕左上方的“打印机”图片,然后再下拉菜单中找到取消所有文档,然后点击“脱机使用打印机”取消这里的勾选。

勾选完“取消所有文档”后,勾选取消“脱机使用打印机”

在执行完上述步骤后,重新启动电脑和打印机,将数据线重新连接到电脑和打印机上,这个时候在win7系统中会自动恢复联机打印。可以尝试重新调出“设备和打印机”面板,找到所使用的打印机图标,鼠标置于之上便会显示“就绪”状态(如下图)。

显示打印机就绪

值得指出的是,win7系统下的电脑是自动恢复的,而在WindowsXP系统中,我们还得重新调出,设备和打印机面板,然后右键单击打印机图标,在下拉菜单中找到“联机打印”,然后左键单击,恢复联机。在正常情况下,打印机脱机恢复是很简单的操作。如果脱机解决不了,那么还是建议大家看看端口连接是不是正常。

[#page_系统服务未启动导致无法连接#3#792#0#0#]

●系统服务未启动导致无法连接

在我们日常工作中,我们也会遇到打印机后台没有进行或者操作无法进行的状况,遇到这种情况很有可能是打印机程序服务Spoolsv.exe没有进行,如果这个没有进行很可能导致打印机无法连线,无法正常的工作,找到这个程序我们需要调出任务管理器,快捷方式是Ctrl+Alt+Del然后启动任务管理器点击服务,在服务框中查看Spoolsv.exe这个程序是否运行正常。

Spooler程序

如果显示Spoolsv.exe这个程序运行不正常,那么我们就得以管理员身份进入计算机,然后找到这个程序进行开启,但是很多时候Spoolsv.exe这个程序遭到破坏,这我们就得重新复制一个Spoolsv.exe应用程序,将其粘贴替换原来的程序中,这里值得说的是一般Spoolsv.exe程序存在于windows-systerm32目录下,当然这样不一定就会使Spoolsv.exe这个程序正常运转,如果不行的话,我们还得尝试别的方法进行。

在很多情况下,打印机无法正常连接是由于Print Sploor没有开启,下面我们就得将Print Sploor调出然后进行手动开启,我们可以右键单击“我的电脑”(计算机),在下拉菜单中找到“管理”左键单击“管理”,然后便会出来“计算机管理”的操作面板。

计算机管理操作面板左侧下方单击“服务”

然后在左侧下方点击服务和应用程序,点击服务,之后中间便会出现服务的列表(如上图),我们需要做的是在列表中找到Print Sploor这个程序(按照字母排列的先后顺序找),当我们找到Print Sploor这个程序后,我们双击它。

找到Print Sploor双击它

当我们双击它便会出现一个菜单(如下图),我们找到启动类型后将禁用或者手动调到自动位置,后将服务状态进行开启。最后点击应用,Print Sploor程序就开始运行。

Print Sploor的属性

如果没别的问题的话,打印机就可以使用了,如果Print Sploor无法启动,那么还得尝试和Print Sploor相关程序的启动。这在下一页中进行系统的阐述。

[#page_系统服务未启动导致无法连接(续)#3#792#0#0#]

●系统服务未启动导致无法连接(续)

但我们遇到Print Sploor无法启动的时候,先不要慌,这种情况出现一般分为两种状况。第一种状况,是启动和Print Sploor相关的程序-Remote Procedure Control。调出Remote Procedure Control的方法和调出Print Sploor的方法一样,右键单击“我的电脑”(计算机),在下拉菜单选项中选择“管理”项,点击进入,管理界面出来后,在左侧点击服务,然后再在中间找到Remote Procedure Control程序。

找到Remote Procedure Control程序

双击Remote Procedure Control程序,进入Remote Procedure Control属性界面,然后点击启动、确定。

Remote Procedure Control属性

另一种状况是Remote Procedure Control处于开启状态,而Print Sploor尚未启动,这就需要我们在注册表内查看Remote Procedure Control的键值,如果有误及时修改,首先我们在开始菜单内输入“regedit”,调出regedit后点击它,便进入注册表编辑器。这是我们需要找到Depend on services这项服务,具体是在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler文件夹下。

点击Spooler文件夹

对右侧Depend on services数值进行修改

调出Depend on services后,我们先查看它的数值,如果不是RPCSS,我们需要手动对其进行修改,改成RPCSS。然后退出,重新启动电脑。

如果以上这些办法都解决不了这些问题,那我们就不得不考虑重装一下系统。

[#page_默认打印机无法设置#3#792#0#0#]

●默认打印机无法设置

在打印机连接问题上还有一种情况是默认打印机无法设置,这也是困扰打印机用户的一大难题。其实解决这个问题相当复杂,我们还得从操作系统入手,不过不要着急,笔者收集了两个方法以便广大用户遇到这个问题之后束手无策。

无法设置默认打印机

通常情况下,我们在众多的打印机下工作,这些打印设备有无线的、有限的、局域的、工作组的等等,而在这种环境下这些打印设备往往会出很多。一般我们设置默认打印机的时候只要右键点击打印机图标,然后点击设置为默认即可,但是有时无法设置,虽然这种情况不常见,但是也是困扰我们的一大难题。

解决这个问题我们有两个方法,由于打印机的注册表键值放在HKEY_CURRENT_USER\Software\ Microsoft\Windows NT\CurrentVersion\Windows这个位置上,所以和当前的账户无关,我们重新创建一个账户,并给予管理员的权限。

打开控制面板找到添加用户

我们首先点击开始键点击控制面板,在控制面板上找到用户账户和家庭安全,点击增加或删除用户账户选项。

左下方的创建一个新账户点击它

在增加或者删除用户账户选项中找到创建一个新账户,点击进入。

点击管理员并创建账户

进入创建新账户界面,创建账户,并赋予管理员的权限,如果以上都设置好,我们只要将电脑重启,之后就可以设置默认打印机了,虽然这个方法好用,但是碍于客观因素,我们一般都不会采用,在这种情况下,我们不得不采取另一种设置默认打印机的方法。

第二种方法便是修改注册表,调出注册表的方式和之前说的一样,在开始菜单中输入“regedit”,调出regedit后点击它,便进入注册表编辑器,在编辑器内找到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows文件夹。

注册表编辑器显示Device

如果没有显示Device的话,表示电脑打印机不正常,这种情况下,我们必须手工进行添加Device。将Device的类型设置为REG_SZ,并将其键值设置为xxx,winspool NeYY,其中xxx为安装完驱动后系统内的打印机名称,后面的YY为01到08等不同的数字。需要我们注意的是这个设置用一次,修改后重启即可。

[#page_网络设置导致无法连接#3#792#0#0#]

●网络设置导致无法连接

在第一页中我们浅微提及网络打印机连接的问题,但是输入正确的IP地址,是为了电脑和打印机进行连接,实际上网络打印机有很多种,共享打印机、工作组打印机以及域打印,而这里面的情况也挺复杂,在这里我们简单的说一下,设计到网络问题,有专门的网络管理人员。当然网络打印机连接的方法,据笔者所知最少有4种,第一,搜索网络打印机,这个同安装驱动的步骤一样,打开控制面板,点击打印机选项然后添加打印设备,然后根据提示输入IP等,在这里不再具体阐述。第二种较为简单,进入网上邻居界面查看工作组打印机进行添加即可,这个也不再阐述。

第三种和第四中是在前两种都不生效的情况下采用的,如果连不上很有可能Guest账户被禁用了,我们需要做的就是让Guest账户可以使用,方法和之前计算机管理差不多,我们在“我的电脑”(计算机)图表左键单击,在下拉菜单中找到管理并点击,这样进入管理计算机界面。

调出计算机管理界面找到Gust选项

找到Guest选项后,我们双击进入Gust界面。然后将“用户不能更改密码”和“账户已禁用”勾掉。

Guest属性界面

如果这些没有出现任何问题的话,我们只能寻求第四种办法,调出管理计算机界面(如下图)

管理工具中选中本地安全策略选项

在管理工具界面点击本地安全策略选项,进入后点击本地策略,在下拉菜单中找到本地策略,然后点击用户权限分配。

用户权限分配

之后再策略框中找到“从网络访问此计算机”和“拒绝从网络访问此计算机”,分别点击进入,属性编辑界面。

在“从网络访问此计算机”属性里添加“Guest”用户,在“拒绝从网络访问此计算机”属性里去除Guest用户。然后保存。

当然了,网络打印机连不上有很多可能性,我们在这里讨论的只是冰山一角,因为网络打印机可以有共享打印机、工作组打印机以及域打印等,情况之多,我们先不赘述,下一页我将阐述一下正确布置了打印服务器,但是用户还是无法连接的问题。

[#page_网络设置导致无法连接(续)#3#792#0#0#]

●网络设置导致无法连接(续)

我们有的时候正确布置了打印服务器却依然无法连接打印机,这就需要启动一个叫组策略编辑器的软件,调出方法同注册表编辑器一样,先调出控制面板中的管理工具,然后点击进入。

控制面板中选中管理工具

进入之后我们选择本地安全策略,点击进入,进入之后点击本地策略后点击安全选项。

本地安全策略

防止用户安装打印机驱动程序

然后找到“设备:防止用户安装打印机驱动程序”双击进入,进行编辑。

选择已禁用

然后我们在选项中选择“已禁用选项”。修改完毕之后,我们还得需要开始运行中输入“gpupdate/force”,潜质更改组策略。然后用户就能安装网络打印机和驱动了。

本文列举的打印机无法连接的问题只是用户们常见的,尚有不完全之处,遇到这些问题的时候,我们需要保持冷静,逐步排查,相信我们一定可以使打印机正常工作。在有的时候,打印机驱动删除,这种情况,我们需要重装系统,在打印机箱内有配套的打印机驱动,我们只需按照安装驱动的步骤进行安装就行。本文中关于打印机无法连接的问题网络打印机提及的较少,一个重要的原因是网络打印机设计的网络问题较为复杂,有些共享或者工作组的打印机,配有专门的网络管理人员,在这时我们需要保持冷静,逐步排查。希望本文关于打印机“无法连接”对广大的用户有所帮助。

 

服务器监控体系构建实战

本文根据群友分享整理而成。

作者介绍

赵舜东

江湖人称赵班长,曾在武警某部负责指挥自动化的架构和运维工作,2008年退役后一直从事互联网运维工作。
曾带团队负责国内某食品电商的运维工作,也是《saltstack入门与实践》作者之一。

主题简介

我们今天的话题是《中小企业监控体系构建实战》,前期分享了《中小企业自动化部署实战》还没有看到的朋友可以先阅读下,这样也能明白为何要定位中小企业。监控这个话题实在太大,所以本文的正确定位应该是如何构建一个“相对”完善的监控体系。

从面试开始

在之前的招聘面试中,我必问的一个问题就是“你们之前公司的监控体系是怎么做的?你认为怎么做效果比较好?”

经常得到这样类似的答案:“我们公司用的Nagios、Cacti做监控,或者说我们公司用Zabbix做监控”,再继续追问往往得到的也是如何使用这些工具的细节的回答。

这样的回答固然没错,但却反映出来运维人员经常会被工具迷惑双眼,从而忘记了最初的出发点。本文就以一个刚入职的运维工程师小王的故事来阐述监控体系,所以这个故事的名字叫做《小王特烦恼》。

1. 确定目标、统一思想

我们直接跳过什么是监控和监控的重要性等大段描述,先仔细的想一想,监控的目标是什么?

每个人的答案都不同,我的回答是:终极目标就是为了保证业务的持续和稳定运行。如此偏激的回答就是让读者从现在开始要站在业务的角度的开始规划监控体系,而不是某个技术范畴。

注意:本文不涉及性能测试、性能优化中的监控,所有文字的出发点都是日常运维监控。

在开始之前,我们还是先统一下认识:要监控一个对象,需要掌握哪些东西呢?

监控对象的理解:要监控的对象你是否了解呢?比如CPU到底是如何工作的?

监控对象的指标:我们要监控这个东西的什么属性?比如CPU的CPU使用率、负载、上下文切换。

确定报警基准线:怎么样才算是故障,要报警呢?比如CPU的负载到底多少算高?

如果上述的条件不满足,那就先不要开始实施监控了,因为等做完了,你会发现,然并卵?

2. 故事开始

王小明(化名)刚刚毕业,到了一家刚刚起步的电商公司任职:运维工程师,刚上班第一天,小王收到领导安排的光荣任务:把我们公司的监控搞起来!

小王想了好久,没想明白,索性不想了,从手头接触到的慢慢开始吧,于是小王决定先去机房看看。

2.1 硬件监控

到了机房,小王看着公司的各种品牌的服务器,想到的第一件事情就是,这些硬件设备,我要监控起来。

硬件设备监控是最基础的监控手段,比如定期的的机房巡检。

通常我们的服务器上都会有远程控制卡,如Dell的iDRAC,HP的ILO和IBM的IMM等,可以通过Web界面来进行硬件的监控和管理工作,如果购买企业级的授权,还可以使用控制台进行管理。

在Linux下,通常我们使用IPMI来完成物理设备的监控工作。通常必须要监控的就是温度、硬盘故障等。

小王编写了自己职业生涯的第一个脚本,就是使用ipmi工具获取温度传感器的数据,大于50就发一份邮件给他,虽然感觉不高端,但总算是有一个开始。

故障回想:之前我司托管在北京某机房的设备就出现过,因为刚好所在机柜区域的空调坏了,导致服务器温度过高,然后系统宕机。

2.2 系统监控

小王下一个想到的就是系统监控,公司全是Linux的服务器,系统资源的使用情况,肯定是要监控起来的。

系统监控是监控体系的基础,系统监控主要的对象有:

  • CPU
  • Memory
  • IO

CPU:关于CPU,有3个重要的概念:上下文切换(context switchs),运行队列(Run queue)和使用率(utilization)。

这也是我们CPU监控的三个重点。通常情况下,每个处理器的运行队列要小于等于3,CPU 利用率中user/system比例维持在70/30,上下文切换要根据系统繁忙程度来综合考量。

常用的监控工具有:top vmstat mpstat

内存:Linux虚拟内存是一个庞大的东东,通常我们需要监控内存的使用率、SWAP使用率、同时可以通过内存的使用率曲线来发现某些服务的内存溢出等。

监控工具有:free vmstat

IO:IO分为磁盘IO和网络IO。除了在做性能调优我们要监控更详细的数据外,那么日常监控,只关注磁盘使用率、io wait即可,网络也是监控网卡流量即可。工具有iostat iotop iftop。

TCP监控:在很多情况下有必要监控TCP的状态,可以使用netstat或者ss来获取所有的TCP连接,来展现11种不同的TCP连接状态的数量,可以在大并发中及时发现TCP的相关故障。

其它的系统监控还有运行的进程数、登陆用户、Open File等。

2.3 应用服务监控

小王把硬件监控和系统监控研究明白后,登陆到服务器上继续研究,偶然间一个ps aux,小王发现,我们服务器上运行了这么多的服务,那都需要监控起来啊。

应用服务监控也是监控体系中比较重要的内容,例如:

  • Apache:Apache提供了mod_status和mod_info模块用来输出Apache的状态,小王写了一个脚本,各种grep和awk搞定。
  • Nginx:同样有状态模块,编译的时候加上—with-http_stub_status_module,然后就可以使用stub_status on来开启了。
  • Memcached:小王使用nc给memcached发送了一个stats命令就获取到了所有想要的信息。
  • Redis:小王还是使用nc给redis发送了一个info命令就获取到了redis的相关状态。
  • JVM:使用jmconsole,或者jmx就可以进行远程监控。

于是小王,将线上的各种服务,都一个一个的进行了监控,这样这些服务的详细的运行状态就了如指掌了。

同时,还需要将所有的API接口状态进行监控,比如通过curl检查返回的HTTP状态码。有条件的用户,可以做一个URL监控平台,专门用来做这个事情。

2.4 引入Zabbix

自从小王接收到监控的任务后,这Shell编程能力是越来越强了,但是每天一打开邮箱就被各种报警所淹没,脚本多而杂乱。

小王想,我需要一个什么监控工具来干这些事,不能这么写脚本下去了。于是在网上进行各种搜索,发现了很多的监控工具如Nagios、Cacti、Zabbix,原来自己之前费那么大劲,这些工具早就实现了。

经过相关的对比,小王选择了Zabbix。然后之前的所有监控范畴,都可以整合到Zabbix中。

  • 硬件监控:Zabbix IPMI Interface
  • 系统监控:Zabbix Agent Interface
  • Java监控:Zabbix JMX Interface
  • 网络设备监控:Zabbix SNMP Interface
  • 应用服务监控:Zabbix Agent UserParameter
  • MySQL数据库监控:percona-monitoring-plulgins
  • URL监控:Zabbix Web 监控

这一下子把之前干的工作全集成到一个平台上了。而且之前编写的所有的应用服务的监控脚本,简单修改就可以使用。

同时也可以灵活的设置报警阈值、告警方式、告警升级、告警去重、告警依赖等等,同时还使用Zabbix的自动发现功能实现上线一台服务器后,自动添加监控。

使用Zabbix Proxy实现了多机房的分布式监控,这简直太棒了。

对于告警通知:邮件、微信、短信、钉钉等,都可以与Zabbix快速的集成,网上有很多此类文档。

同时,针对某些可以进行直接处理的报警,Zabbix可以触发Action来轻松帮你实现,故障的自动处理。

于是小王准备向经理汇报工作,此处省略300字,但是不到10分钟小王垂直头回来了。因为经理问了一个问题,小王回答不上来:小王,今天咱们网站的整体PV是多少?现在访问最多的页面是哪个?

2.5 流量分析

小王首先想到的是把访问日志拿出来各种awk然后sort一下,但是这次他没有急于开始,难道就没有做这些统计和分析的工具吗?

于是小王发现了google分析、百度统计、站长工具等等一堆统计的东西,只需要在页面嵌入一个js即可。

但是呢?这个数据始终是在对方那里,而且功能定制起来也不方便,于是google帮助了他,一个叫做piwik的开源项目映入眼帘。

网站流量分析对于运维人员来说,更是一门必须掌握的知识了。比如对于一家电商公司来说,通过对订单来源的统计和分析,可以了解我们在某个网站上的广告投入有没有收到预期的效果。可以区分不同地区的访问人数、甚至商品交易额等。

而且,流量分析是运维向运营拓展的必经之路,作为一名运维工程师很有必要掌握公司站点的各种访问详情。

2.6 网络监控

作为一个针对全国用户的电商网站,时刻掌握各地到机房的网络状态是小王的下一个监控目标。

网络监控是我们构建监控平台是必须要考虑的,尤其是针对有多个机房的场景,各个机房之间的网络状态,机房和全国各地的网络状态都是我们需要重点关注的对象,那么如何掌握这些状态信息呢?我们需要借助于网络监控工具Smokeping。

Smokeping 是rrdtool的作者Tobi Oetiker的作品,是用Perl写的,主要是监视网络性能,www 服务器性能,dns查询性能等,使用rrdtool绘图,而且支持分布式,直接从多个agent进行数据的汇总。

同时,由于自己监控点比较少,还可以借助很多商业的监控工具,比如监控宝、基调、博瑞等。同时这些服务提供商还可以帮助你监控CDN的状态。

2.7 安全监控

虽然iptables帮助小王完成了四层的安全防护,但是针对七层的Web层面怎么办呢?

于是小王使用Nginx + Lua编写了一个WAF,然后把相关的日志记录到了Elasticsearch中,通过kibana可以图形化的展示不同的攻击类型的统计。

同时小王学习使用python还写了一个爬虫定期扫描github,有没有公司相关的关键字,以免同事分享代码时,不小心涉及到敏感的内容。

(图片来源https://github.com/loveshell/ngx_lua_waf)

2.8 业务监控

小王再去向经理汇报,刚走到门口被总经理碰上了,张总说:小王啊,你们经理汇报你最近监控工作干的不错,你给我说下,咱们现在10点的时候总订单是多少,每分钟平均订单有多少?

小王又蒙了,我自己也曾经就是那个小王!

没有业务指标监控的监控平台是一个不完善的监控平台,通常在我们做监控系统中,必须将我们重要的业务指标进行监控,并设置阈值进行告警通知。

比如每分钟的订单、每分钟注册、日活用户、短信使用量等重要的业务指标都可以加入到Zabbix上。

注:由于业务监控图表,涉及到隐私的数据太多,就不截图了。

2.9 日志监控

通常情况下,系统会产生系统日志、应用程序会有应用的访问日志、错误日志,服务有运行日志等,可以使用ELK来进行日志监控。

对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:

  • logstash(收集)
  • elasticsearch(存储+搜索)
  • kibana(展示)

我们将这三个组合起来的技术称之为ELK Stack,所以说ELK Stack指的是Elasticsearch、Logstash、Kibana技术栈的结合。

如果收集了错误日志,那么如果部署更新有异常出现,可以立即在kibana上看到。当然也可以使用Zabbix来进行错误日志的过滤来进行告警。

2.10 自动化

经过努力,小王完成从监控菜鸟到头脑中有一个相对完整的监控体系的逆袭,但是在大规模的环境中,如果无法做到自动化监控,那么手动添加监控不仅仅是一个恐怖的工作,而且也无法保证完整性。

自动化的方案有很多,通常有主动和被动不同的形式,这里相对Zabbix来说。

主动形式:

比如使用Zabbix的自动发现,主动的对全网进行扫描,然后自动添加相关的监控服务器和引用监控模板。

被动形式:

也可以使用Zabbix API进行被动的监控的添加。比如以CMDB为核心,如果检测到某服务器增加了Nginx服务,那么自动调用Zabbix API添加上Nginx的监控模板。

真正想做到更完整的监控体系,目前的开源软件,确实无法很好的满足,有条件的公司都开始自己开发自己的监控系统,比如小米开源的Open-Falcon。

也有比较好的开源的监控框架如Sensu等,再加上influxdb grafana可以用来定制符合自己企业的监控平台。

2.11 可视化

经过小王的各种努力,终于一个相对完善的监控平台使用Zabbix构建起来了,小王为此还做一个漂亮的screen,来进行展示,但是有一天突然订单量特别少,张总又一次到了运维部,但失望而归,因为整个监控体系并不能反映出来订单量为什么减少了?

运维的重要目标之一就是数据的可视化,一个监控平台不能很好的反映出来业务的波动,就是耍流氓。之前的一切努力在业务部门的领导中变得一文不值!!!

我们能做的有以下几点:

面向传统运维:

  1. 尽可能的完善业务监控,如果有专门的业务分析系统,要想办法和运维的监控平台进行结合。
  2. 梳理清楚各个子系统之间和业务的关系,比如如果突然间流量增加了50M,能够快速的知道这50M流量到了那个业务系统上,访问的哪些URL,以及这个业务系统的相关状态。

面向DevOps:

将所有的监控项和业务之间建立关系树,比如业务、网络、系统、数据库、流量、推广活动(流量分析)之间可以形成一个庞大的关系链。这是一个比较庞大的工程,业务是多变的,如何让监控平台能尽可能的适应多变的业务是一个艰巨的任务。

到面试结束

该结束了,因为我无论怎么努力增加,还是觉得总有漏下的。

监控的话题还有很多很多,比如还有和运维相关的页面性能监控(页面资源数量、DNS解析时间、首屏时间、加载最慢的资源、产生阻塞的JS等)、代码监控、与运维无关的舆论监控等,先这么多吧!

好的,我们是从面试开始引入的监控的话题,那么就从面试结束吧!下次再遇到类似的面试题,我相信读者心里一定有了自己的答案,这里就不在详述,一个相对完善的运维监控体系是否已经在你脑海中形成了呢?

小贴士:面试中,如果你遇到一个有很强的责任心,连洗澡都要带上手机,以免错过报警的人,不要犹豫,先招进来再慢慢培养吧。责任心是运维工程师的第一要素!

后记:小王的故事结束了,小王目前被监控的关系树锻炼的连王菲、李亚鹏的关系都能搞明白了。可是你呢?

如果你是一名运维工程师,动手干吧,监控会是一个不断完善的工程,这就是运维(运营)和项目的本质区别。

如果你是一名Devops,那么开始编程吧!

如果你是一名老板,给公司的运维工程师一个转变的机会和一些时间,人总是不断进步的!

FAQ:

故障自动处理有没有相关的思路?

不同业务形态、不同架构、不同服务可能采用的方式都不同,这个没有一个固定的东西分享。可以参考之前腾讯蓝鲸的分享,他们实现了故障自愈的功能。

运维需要懂业务吗?

我个人的观点是懂业务能让运维走的更远,运维服务的对象不一定是其它部门,为什么不能是终端用户呢?

可以站在终端用户的视角来做运维,比如有用户反映访问慢,为什么慢,是架构的原因,Nginx配置的原因,还是数据库的原因。

不要等着领导来安排,运维能带来的价值是需要运维自己做出来的,思想有多远,运维就能走多远!

那么监控在这里发挥的作用就是:让数据说话!

做监控也需要CMDB吗?

我认为CMDB是基础,尤其是在自动化运维的模式下,你需要有一个地方能准确的提供一台服务器放在哪个位置、配置是什么?什么时候购买的?什么时候过保?都运行了哪些服务、开放了什么端口、版本是什么(升级时使用)。

有了这些数据,就可以轻松和配置管理系统、部署系统、监控系统有效的结合起来。总结起来就是:以业务为导向、以CMDB为中心、以API为基础来进行运维体系的建设。

有了CMDB的数据支撑,那些看着高大上的自动绘出架构图和机柜图就不是难事了。

解决系统唤醒休眠状态出现”拒绝访问”错误的方法

windows休眠状态是指将所有运行的实时数据存储到硬盘上,并且关闭一切不必要的硬件从而节省电量,无论你所使用的windows是哪个版本,系统都能够让用户自动进入休眠状态,当然在你没有关闭休眠功能的前提下,不过在近期有部分win7用户反映,将系统从休眠状态唤醒时,出现“拒绝访问”的错误,对于该问题我们如何解决呢?下面看为您带来的解决方法!

解决win7系统唤醒休眠状态出现“拒绝访问”错误的方法

第一步、进入Win7系统后,我们在键盘中按“Win+R”组合键打开运行窗口,并输入“CMD”并按回车键或确定;

第二步、调出命令提示符窗口后并在窗口中输入“powercfg -h off”并按回车键;

  第三步、然后重启电脑,并通过第一个步骤打开命令提示符窗口,最后在窗口中输入“powercfg -h on”并按回车键,也就是重新开启休眠功能就可以了。

通过上述方法我们就能够解决win7系统唤醒时出现“拒绝访问”的错误了,我们只需要将该功能关闭后,在重新启动即可解决!

无法连接到打印机,共享打印机拒绝访问如何解决?

其实这个问题跟共享文件夹时,提示“达到连接数目限制”是一样的问题,就是权限设置的问题,网络访问需要3个权限:用户权限、共享权限、文件权限,这些条件必须同时具备才能进行网络访问。解决方法也是大同小异的,在这里,单独讲一下打印机出现这种情况时候的解决方法。

一台win8系统的计算机共享了一台打印机,而这台打印机的属性里的“用户和组”里没有everyone的时候连接打印机出现的情况。

解决方法:

在共享打印机的计算机上,打开控制面板,单击“查看设备和打印机”

在打开的设备列表,右键单击共享的打印机,单击“打印机属性”,选中这台打印机

在“共享”选项卡下,填写正确的“共享名”

打开“安全”选项卡,可以看到在“组或用户名”下没有“everyone”这一项,点击“添加”按钮

在出现的“选择用户或组”的界面,点击“立即查找”,在列表中找到“everyone”,点击“确定”

再返回的界面可以看到“everyone”已经在列表中,点击“确定”

可以看到“everyone”已经添加到“组或用户”的列表中,为其设置权限,我们在“打印”后面“允许”下的复选框打勾,只给分配打印权限

返回重新连接即可。这种解决方法适用于大多因为权限设置出现这种问题的情况,在新装系统的电脑出现这种情况的可能性最大,用户可酌情参考。

蓝屏代码0x0000007e的解决方法

我们在日常使用电脑有时候会遇到出现蓝屏代码0x0000007E的问题。那么遇到0x0000007E这个蓝屏代码具体应该怎么解决呢?本篇我们将要介绍的就是蓝屏代码0x0000007E怎么解决的方法。

代码分析: 系统进程有错误产生, 但系统的错误处理器捕获不到。原因有很多, 比如:硬件的兼容性、驱动程序或系统服务问题、 或是软件问题。

解决办法:打开”事件查看器”来查看相关时间的错误信息,再根据错误信息来解决。
一、进入安全模式?
1、请重新启动计算机。
2、计算机启动后狂按F8键直到有选项出现。
3、选项出现后请选择“安全模式”。

二、修改注册表?
1、按住WIN键?键盘左下角Ctrl和Alt中间圆圈里有四个方块的那个?后再按一下R键打开运行窗口?然后输入“regedit”并按确定。
2、在打开的“注册表编辑器”中?先按这个目录找到Intelppm: HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesIntelppm
3、双击右侧的start?并该值修改为4。
4、退出注册表编辑器?重新启动计算机。

蓝屏代码0x0000007b的解决方法

很多人在使用电脑时会遇到电脑蓝屏,显示错误的蓝屏代码0x0000007b。那么是什么原因造成显示蓝屏代码0x0000007b的呢?下面让我们分析一下蓝屏代码0x0000007b显示是什么原因造成的。以及蓝屏代码0x0000007b的解决方法.

解决蓝屏代吗0x0000007B的几种常见办法
0x0000007B 蓝屏代码的分析
◆错误分析:Windows在启动过程中无法访问系统分区或启动卷.
网络上经过收集,主要有四种可能。第一是新旧主板的第一次交替使用,第二是有病毒干扰系统的启动运行,第三是硬盘模式引起的错误。第四种是装机环境不对,GHOST和SETUP都试试,可能性还是有的。至于还有没有其他的可能就不得而知了,硬盘损伤等都可以引起的也会蓝屏。下面是网络上的答案:
【第一参考】
如何解决0x0000007B:INACCESSI-BLE-BOOT-DEVICE
答:出现这个提示的原因是初始化I/O系统(通常是指引导设备或文件系统)失败。造成该问题的常见因素有:
(1)你在电脑上新安装了第二块硬盘,或者是SCSI设备以及调制解调器等设备,这些设备与原来的硬盘造成资源冲突,请进行检查,通过适当的设置解决问题。
(2)病毒破坏了系统文件,请使用杀毒软件查杀病毒,然后利用Windows提供的“命令控制台”中的Chkdsk /r命令检查修复系统文件即可.
【第二参考】
装机重启出现:0x0000007B:INACESSIBLE_BOOT_DEVICE
◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的IDE控制器使用了不同芯片组造成的. 有时也可能是病毒或硬盘损伤所引起的.
◇解决方案1:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题. 对于病毒则可使用DOS版的杀毒软件进行查杀(主战有kv2005DOS版下载). 如果是硬盘本身存在问题, 请将其安装到其他电脑中, 然后使用”chkdsk /r”来检查并修复磁盘错误.
◇解决方案2:一般象蓝屏的问题都很难手动解决的。因为大都涉及到IRQ中断,所以最好的办法是用你安装系统的盘以光驱方式启动系统,然后在选择安装系统时选“手动安装”,然后到安装系统的时候它会查找已安装的系统,找到后按R进行修复。。问题应该可以解决了。。
【第三参考】
安装widows XP时蓝屏代码0X0000007B的问题的解决方案
用户在重新安装Windows XP的过程中,可能会出现安装过程中蓝屏,代码是0X0000007B的错误提示
分析:
只是因为Dell电脑采用SATA硬盘,我们知道, 目前SATA硬盘工作在两种模式下,一种是”ATA模式”(”兼容”模式,”标准” 模式,将SATA硬盘映射到系统的IDE通道上;第二种是”AHCI”模式,在BIOS中,可以在这两种模式中选择(出厂和ALT+F都默认成”AHCI”).
如果在BIOS中将”SATA Operation”设置为”AHCI”模式,安装Windows XP的时候,需要SATA的驱动支持.如果客户购买的是Windows XP,用随机配的XP光盘安装,则可以顺利安装;但是如果客户购买的是Vista或者N系统,用不包含SATA驱动的XP光盘(比如早先的Dell机器所配Windows XP光盘),就会出现该问题.
特别注意:由于Vista原本就支持AHCI,因此,安装Vista一般不会有这样的问题.
解决方法:
方法1):
在BIOS中,将”SATA Operation”设置为”ATA”,然后安装Windows XP,让硬盘工作在”ATA”模式下;
方法2):
从RCD中将SATA驱动解压到软驱中,在安装Windows XP过程中按F6安装SATA驱动;
方法3)用含有SATA驱动的Windows XP光盘进行安装,755机器原配的Windows XP光盘等;
方法4)先将BIOS设置为”ATA”模式,安装Windows XP后,然后手工安装SATA驱动(这个过程比较繁琐),然后再将BIOS改回”AHCI”模式.
注意:
请谨慎修改BIOS的”SATA Operation”或者使用ALT+F, 这样操作可能会引起系统无法启动或者需要重新安装操作系统!
比如,在ATA模式安装好Windows XP后,直接将BIOS改成”AHCI”,启动Windows XP后,仍然出现蓝屏0X0000007B的错误。
【第四参考】
用以上的方法均无法解决上述问题,可见蓝屏的代码是一样的,但是问题却不是一样的,甚至一点关系都没有。我遇到的蓝屏代码是:0x0000007B:INACCESSI-BLE-BOOT-DEVICE
解决方法:
开始我用Ghost安装的时候,滚动条没滚完一圈就停止了,然后就出现蓝屏,当然我不会很开心。这是第N次帮别人装机,又出现问题了,我就茫然了。后来我用番茄花园的系统盘装WINDOWS 2000(注意是安装版的),结果是顺利安装了。后来又用Ghost还原回复到XP,结果就又出现了之前的蓝屏,连代码都是一样的。格式化所有的盘子后还是这样,排除了病毒的可能性;根据以上说法找地方设置什么,没有找到相关的设置,也排除以上的说法。
机缘巧合,注意到我装2000系统用的是steup(安装版)装的,而用装xp系统是用的Ghost版,找到了问题的关键。联想的品牌机,装机环境和要求就是不一样,需要特定的环境。我就用STEUP的xp系统装机了,一切问题都没有,也就是说,本身就不存在任何的问题。有的机器因为主板或者其它环境因素,只能用安装版(setup版)安装系统!
我要说的就是:这种代码引起的原因还有个就是本身的装机环境不对,Ghost和setup的不同是什么我不好讲清楚,但是他是引起蓝屏的一种可能!

如果可以的话进入安全模式,既然杀毒软件无法搞定你可以采取手工杀毒的方法, 你需要拥有一下软件(冰刃,超级巡警,SReng,windows清理助手,注册表医生)
步骤如下,首先利用超级巡警+Windows清理助手扫描整个硬盘,重点在于引导磁盘,扫描完毕后重启机器,看看能否进入正常桌面。如果不行的话依旧进入安全模式,用SReng进行智能分析,查找启动项和进程中的可疑程序,然后用冰刃搜索隐藏进程,并且比对进程内核模块,结束病毒内核模块,锁定注册表,删除病毒源文件,删除病毒启动项,最后用注册表医生修复注册表.