nagios监控_SQLSERVER镜像_无见证服务器_实例测试
- 格式:pdf
- 大小:381.90 KB
- 文档页数:11
nagios流程分析在大部分环境中,nagios是不需要优化的,一来监控这个东西大家都不觉得很重要,二来n agios本身已经是个很轻量级的软件,架构比较合理,三来现在的机器配置都很恐怖,一台普通的pc机撑起上千台host,上三四千service的监控那是小菜一碟,实际环境中有这么大量监控需求的地方本来就不多,就算有这么大量监控需求的公司,用nagios的并不多数吧!但是某些情况下,还是偶尔碰到需要优化的情况。
我需要监控的机器数量就超过了1000台,而且用的nagios,用了被动检查的架构以后,撑起这么多的监控本来是没有问题,但是上周的时候,做nagios和ndotuils的集成就出现了性能瓶颈,凌晨5点左右,把ndotuils架到两台nagios上之后,应用启动什么的都正常,但是到了上午8点就发现了问题,看到检查结果的last_check时间从7:20到8:20不等,而且是均匀分布,没有办法,只好把ndo mod关掉,到了上午10点左右,就恢复正常了。
既然nagios出现了瓶颈,就不妨拿源码来看一下,配置文件的选项优化,在nagios的文档里说了很多,但是还是感觉不是很直观,分析源码,只是属于个人兴趣,这里把流程跟大家分享一下,至于优化方案,还是需要大家多多指点了。
一、nagios在启动以后,载入成daemon,整个的步骤如下:1、读入配置文件(read_main_config_file)2、初始化event_broker3、载入所有broker_mod(ndomod包括在这里面)4、读入object信息(包括service,host,servicegroup,hostgroup,contact,contactgr oup等等)5、告诉broker,我启动了6、初始化daemon(例行工作,fork进程,修改根目录,设置信号量等等)7、打开cmd文件(nagios.cmd)8、初始化status数据(status.dat)9、读取保存数据(retention.dat)10、读取注释数据11、读取downtime数据12、读取性能数据13、初始化event_timing循环14、初始化check_stats15、生成status.dat(空的,不写数据)16、传输event_loop_start信息到broker(ndo:获取scheduling_info中数据)17、开始event_execution_loop,检查数据,直到捕获重启或者关闭信号如果接到了重启或者关闭的信号,则继续往下执行18、通知broker_mod,我要关闭了,或者我要重启了19、保存retention文件20、清理性能数据21、清理downtime数据22、清理注释数据23、如果是关闭信号,清理status.dat24、如果是关闭信号,删除cmd文件步骤比较简单,其中比较重要的有两个,一个是13,初始化循环,另一个就是17,nagios 在作为daemon运行的过程中,就是在不断的执行这个循环。
SQLServer请验证实例名称是否正确并且SQLServer已配置为允许远程连接解决⽅法场景:在与 SQL Server 建⽴连接时出现与⽹络相关的或特定于实例的异常。
未找到或⽆法访问服务器。
请验证实例名称是否正确并且 SQL Server在与 SQL Server 建⽴连接时出现与⽹络相关的或特定于实例的错误。
未找到或⽆法访问服务器。
请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
在与 SQL Server 建⽴连接时出现与⽹络相关的或特定于实例的错误。
未找到或⽆法访问服务器。
请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
在使⽤G2服务时,测试服务器连接,结果遇到这个问题。
问题详细:连接测试失败!:在与 SQL Server 建⽴连接时出现与⽹络相关的或特定于实例的错误。
未找到或⽆法访问服务器。
请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
(provider: 命名管道提供程序, error: 40 - ⽆法打开到 SQL Server 的连接)。
本机配置:Win7系统,SQL Server 2008 R2 数据库,在360浏览器测试使⽤G2服务测试数据库连接。
⾸先查看了数据库已经允许远程连接,数据库连接字符串也填写正确。
PS:连接朋友数据库正常。
在⽹络上搜索了⼀些答案。
其中,第⼀种⽅法:运⾏中输⼊services.msc,查看SQL有关服务是否全部开启。
启动所有可以启动的SQL相关服务完毕,仍未解决问题。
第⼆种⽅法:设置配置管理器中TCP/IP,端⼝设置为默认的1433。
结果SQLEXPRESS的协议设置为1433后,重启SQL Server (SQLEXPRESS)出现错误。
然后就不能再启动了。
最后找了好朋友帮忙,终于解决了问题。
所做的设置有:更改SQL Server (SQLEXPRESS)TCP/IP其中8099是任意设置的端⼝(后⾯还要在防⽕墙设置)。
服务器维护工具服务器的稳定运行对于任何企业或组织来说都至关重要。
为了确保服务器的顺利运行并及时解决潜在的问题,可靠且高效的服务器维护工具是必不可少的。
本文将介绍一些常用的服务器维护工具,帮助您选择适合您需求的工具。
一、监控工具服务器监控工具是用于监视服务器性能和资源利用率的软件。
下面是三种常用的监控工具:1. NagiosNagios是一款开源的监控工具,它可以实时监控服务器的各种指标,如CPU使用率、内存利用率、网络流量等。
当服务器出现故障或资源超载时,Nagios会及时发出警报,帮助管理员快速响应和解决问题。
2. ZabbixZabbix是一款功能强大的网络监控工具,可以对多个服务器进行集中监控。
它支持多种监控方式,如SNMP、ICMP、JMX等,还可以生成报告和图表用于性能分析和趋势预测。
3. SolarWinds Server & Application MonitorSolarWinds Server & Application Monitor是一套全面的服务器监控解决方案,可提供对服务器硬件、操作系统和应用程序的实时监控。
它可以自动发现并监控服务器上的各种组件,提供预警和故障排查功能,帮助管理员及时识别和解决问题。
二、配置管理工具配置管理工具用于管理服务器配置和软件部署,确保服务器环境的一致性和可维护性。
1. PuppetPuppet是一款自动化服务器配置管理工具,可用于管理大规模服务器环境。
它可以定义服务器配置的状态,自动进行配置更改和软件部署,实现一键化管理和自动化运维。
2. AnsibleAnsible是一款用于服务器配置管理和应用部署的开源工具。
它使用SSH协议进行通信,无需在目标服务器上安装客户端,具有简单易用、可扩展性强的特点。
3. ChefChef是一款基于Ruby语言的自动化配置管理工具,它可以管理服务器的配置和软件部署。
Chef使用"副本"的概念来管理目标服务器的状态,并通过"食谱"来定义配置规则和操作流程。
一、系统环境与软件版本情况本文档使用被监控机的操作系统为rhel6.3 _64位。
监控主机操作系统为rhel6.0 _64位及windows 2003,nagios主服务版本Nagios® Core™ 3.2.3,linu被监控机与主监控通信插件NRPE版本为nrpe-2.8.1。
window被监控机与主监控服务软件为NSClient++-0.2.7所使用的软件如下nrpe-2.8.1.tar.gzNSClient++-0.2.7.zip二、安装配置过程。
因为系统安装大家都非常熟悉了此次略过操作系统安装过程,首先是linux环境下被监控机的安装配置过程。
在安装之前先写个nagios监控非本地信息的原理图主监控机被监控机NRPE总共由两部分组成:–check_nrpe 插件,位于在监控主机上–NRPE daemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1.nagios会运行check_nrpe这个插件,告诉它要检查什么.2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL3.NRPE daemon会运行相应的nagios插件来执行检查4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.因为使用rehl线上的yum源安装需要授权,所以先使用iso搭个本地的yum源。
mount /dev/cdrom /mnt/cdrom/ 挂载光驱mkdir /home/rehliso 创建yum源目录。
cp -Rf /mnt/cdrom/* /home/rehliso/ 拷贝安装文件到源目录cd /etc/yum.repos.d/ 切换至yum配置文件目录cp rhel-source.repo rhel-source.repo.bak 备份配置文件vi rhel-source.repo 编辑配置文件,删除之前内容加入[rhel_6_iso]name=local isobaseurl=file:///home/rehlisogpgcheck=1gpgkey=file:///home/rehliso/RPM-GPG-KEY-redhat-release保存退出Yum clean all清除YUM缓存因为是用二进制安装包进行安装所以要先安装gcc编译器yum -y install gcc 安装gcc编译器安装完成后用sftp上传安装文件nrpe-2.8.1.tar.gz, nagios-plugins-1.4.13.tar.gz至/usr/local/src/目录下创建nagios用户Userad nagiosPasswd nagiosCd /usr/local/src 切换至/usr/local/src/目录解压安装包tar zxvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13编译安装./configuremakemake install这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share修改目录权限把权限所属chown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/至此被监控机nagios插件已经安装完成,接下来就是安装nrpe服务了切换至软件包目录Cd /usr/local/src解压安装文件tar zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1编译安装./configurechecking for SSL... configure: error: Cannot find ssl libraries 出现了该错误主要是因为监控主机插件check_nrpe与被监控nrpe服务的通信是通过ssl方式连接的所以必须安装sslyum -y install openssl-devel 所以这个可以在gcc安装时顺便也安装了ssl安装完成后重新./configure*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:General Options:-------------------------NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type 'make all' to compile the NRPE daemon and client.成功后会出现以上安装的基本信息接下来编译安装make allmake install-daemonmake install-daemon-configmake install-plugin 安装check_nrpe这个插件之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的安装xinetd脚本make install-xinetd这里还要补充一下因为官网的安装文档是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,所以还得确定系统是否已经安装了xinetd的服务[root@localhost nrpe-2.8.1]# service xinetd restartxinetd: unrecognized service服务并未安装yum -y install xinetd 安装xinetd服务安装完成后修改配置文件vi /etc/xinetd.d/nrpeservice nrpe{flags = REUSEsocket_type = streamport = 5666 端口wait = nouser = nagios 用户group = nagios 用户组server = /usr/local/nagios/bin/nrpeserver_args = -c /usr/local/nagios/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1,192.168.1.243}only_from = 127.0.0.1,192.168.1.243在后面增加监控主机的地址192.168.1.243以空格间隔编辑/etc/services文件,增加NRPE服务端口添加如下信息nrpe 5666/tcp #nrpe查看防火墙是否启动chkconfig iptables –list如果启动需要添加5666端口的开放规则vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT添加该条目service iptables restart 重启iptables服务重启xinetd服务service xinetd restart检查服务端口状态[root@localhost ~]# netstat -natp |grep 5666tcp 0 0 :::5666 :::* LISTEN 1959/xinetd 服务端口已经启动测试NRPE是否则正常工作之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.8.1返回了版本信息说明nrpe已经正常的工作了。
maui sqlserver使用Maui SQL Server是一种功能强大且易于使用的关系型数据库管理系统。
它可以帮助用户存储、管理和访问大量数据,并提供高效的数据处理和查询功能。
下面将详细介绍Maui SQL Server的特点、用法以及一些常见问题的解决方法。
Maui SQL Server具有以下几个特点。
接下来,我们将介绍Maui SQL Server的使用方法。
首先,用户需要在服务器上安装和配置Maui SQL Server软件。
然后,可以使用Maui SQL Server Management Studio工具来创建数据库、表格和索引等数据结构。
一旦数据结构确定,用户可以使用SQL语言来插入、更新和删除数据。
此外,Maui SQL Server还支持数据备份和恢复功能,用户可以定期备份数据以防止意外数据丢失。
在使用Maui SQL Server时,可能会遇到一些常见问题。
首先,如果数据库连接失败,可以检查网络设置和数据库配置是否正确。
其次,如果遇到性能问题,可以优化查询语句、增加索引或升级硬件来提高数据库性能。
此外,如果遇到数据冲突或一致性问题,可以使用事务处理来解决。
最后,如果需要扩展数据库容量,可以考虑使用分布式数据库或增加硬盘空间。
总结一下,Maui SQL Server是一种功能强大且易于使用的关系型数据库管理系统。
它具有丰富的功能和强大的性能,可以满足不同规模和复杂度的应用需求。
在使用Maui SQL Server时,用户需要熟悉其使用方法,并注意一些常见问题的解决方法。
希望本文对您了解和使用Maui SQL Server有所帮助。
服务器性能监控工具比较ZabbixvsNagiosvsPrometheus 服务器性能监控工具比较:Zabbix vs Nagios vs Prometheus服务器性能监控工具在现代IT运维中扮演着关键的角色,帮助管理员追踪服务器的性能、发现问题并做出相应的调整。
在众多的性能监控工具中,Zabbix、Nagios和Prometheus是备受关注且应用广泛的几个。
本文将对它们进行比较,帮助读者了解它们各自的特点和适用场景。
一、概述1. Zabbix:作为一个综合性的监控解决方案,Zabbix提供了广泛的功能,包括基于代理和无代理两种工作模式、分布式监控、通用状况数据收集等等。
它使用自主开发的Zabbix服务器采集和处理数据,并提供友好的用户界面进行展示和配置。
2. Nagios:作为一种最初的开源监控工具,Nagios以其可定制性和灵活性而受到青睐。
它通过插件机制支持各种各样的监控需求,并提供了一套丰富的报警选项。
Nagios通过运行插件来收集性能数据,并采用核心监控引擎进行处理和分析。
3. Prometheus:作为新一代的监控系统,Prometheus具有高效的数据存储和查询能力,以及强大的告警和通知功能。
它通过HTTP协议采集时间序列数据,并将其存储在本地数据库中。
Prometheus同时提供了灵活的查询语言以及可视化和报表功能,使得用户可以轻松地分析和展示监控数据。
二、层次与架构1. Zabbix:Zabbix采用客户端-服务器的架构,通常需要在每台被监控的主机上安装Zabbix代理程序。
代理程序负责定期收集性能数据,并将其发送到Zabbix服务器进行存储和分析。
这种架构能够支持大规模部署,但需要较多的配置和管理工作。
2. Nagios:Nagios同样采用客户端-服务器的架构,但不依赖代理程序。
相反,Nagios通过SSH、SNMP等协议直接与被监控主机通信,并使用插件进行性能数据的收集。
sql数据库镜像方法
SQL数据库镜像可以通过以下步骤实现:
1. 确保主体数据库在执行备份时使用了完整恢复模式。
2. 还原主体数据库的最新完整数据库备份,同时,镜像数据库的名称必须与主体数据库的名称相同。
3. 如果自还原完整备份以来已对数据库执行任何差异备份,请还原最新的差异备份。
4. 还原自完整数据库备份或差异数据库备份以来进行的所有日志备份。
5. 对伙伴开始镜像之前,应该创建原始数据库的当前日志备份并将其还原到将来的镜像数据库。
在实现过程中,可能会遇到问题,这时需要暂停数据库镜像会话。
执行暂停操作将保留在挂起镜像时的会话状态。
当出现瓶颈时,暂停可能有利于提高主体服务器的性能。
会话暂停后,主体数据库仍然可用。
请注意,操作具有一定的风险性,因此,需要具备一定的数据库管理知识。
在进行实际操作前,应进行充分的准备和测试。
如有必要,建议咨询专业人士。
Nagios监控的使用一、Nagios简介Nagios是一个监视系统运行状态和网络信息的监视系统。
Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios的主要功能特点:监视网络服务(SMTP,POP3,HTTP,NNTP,PING等)监视主机资源(进程,磁盘等)简单的插件设计可以轻松扩展Nagios的监视功能服务等监视的并发处理错误通知功能(通过email,pager,或其他用户自定义方法)可指定自定义的事件处理控制器可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等二、工作原理Nagios自身是不带任何功能的,Nagios监测服务只能是本地系统监测以及对远程主机的连通性监测。
为了使Nagios的监测服务器能够远程对被监测主机系统上的信息进行获取,比如远程系统上的进程数、磁盘空间使用状况、所运行的服务等等这些必须要登录远程主机系统上才能了解的信息的话,就必须要依靠NRPE或nsclient这个核心扩展插件程序,NRPE 作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。
,要实现监控功能,我们必须安装插件(plugins),以及nrpe。
2.1 监控windows1. windows设置1)安装nsclient,然后在cmd命令台执行以下命令2)修改nsclient的nse.ini配置文件[modules] #去掉注释符号”;”除了CheckWMI.dll和RemoteConfiguration.d llFileLogger.dllCheckSystem.dllCheckDisk.dllNSClientListener.dll[Settings]allowd_host=192.168.2.2 #为nagios服务的IP[NSClient]port=12489 #去掉注释就可以了!3)启动nsclient服务并确认端口是否打开2. linux设置接下来我们开始配置nagios服务器里面的内容,因为nagios是模块化调用,先到配置文件打开windows相关模块。
环境搭建服务器一:64位win2003管理员账号administrator,密码11111机器名sql2008x64ip地址192.168.60.3064位sql2008数据库实例名sql2008x64数据库账号sa,密码11111服务器二:64位win2003管理员账号administrator,密码11111机器名sql2008-2ip地址192.168.60.3164位sql2008数据库实例名sql2008-2数据库账号sa,密码11111实验目的在服务器sql2008x64上建数据库Netoffice7_czjw,并在sql2008-2上实现该数据库的镜像。
如何实现数据库镜像把服务器一和服务器二上的SQL Server (MSSQLSERVER)服务的启动账号设置为.\Administrator(两台服务器SQL Server (MSSQLSERVER)服务的启动账号和密码必须相同)重启SQL Server (MSSQLSERVER)服务在任何一台服务器上打开SQL Server Management Studio,分别连接到sql2008x64和sql2008-2。
在sql2008x64上新建数据库Netoffice7_czjw在sql2008x64上对数据库Netoffice7_czjw进行完整备份,然后将此文件copy到sql2008-2上。
在sql2008-2上进行数据库的还原,还原设置如下图所示还原完成后的状态如下图在sql2008x64上备份数据库Netoffice7_czjw的事务日志,然后将此文件copy到sql2008-2上。
在sql2008-2上对数据库Netoffice7_czjw的事务日志进行还原在sql2008x64上打开数据库Netoffice7_czjw的镜像界面。
配置安全性打开配置数据库镜像安全向导由于只是作为镜像备份,这里就不配置见证服务器了配置主体服务器侦听端点配置镜像服务器侦听端点完成配置安全性这里我们可以选着“开始镜像”或“不开始镜像”。
nagios全攻略(一)----准备阶段一. 准备阶段:1.实验环境注:监控机:安装了nagios软件的机器,对监控的数据做处理,并且提供web界面查看和管理.当然也可以对本机自身的信息进行监控.被监控机:安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机.2.nagios原理3.Nagios定义的监控状态nagios定义了4中监控状态,代表不同的严重级别,除了OK代表正常不用关心4.所用软件nagios-2.9.tar.gznagios-plugins-1.4.9.tar.gznrpe-2.8.1.tar.gzNSClient++-0.2.7.zip注:前三个的下载地址:[url][/url],后一个的[url]/projects/nscplus[/url] 5.总体目标学习嘛,总要有个目标,很简单,就是看到下面这张图主机名要监控的服务nagios-server 是否活动是否开启ftp磁盘使用情况dbpi 是否活动是否开启ssh磁盘使用情况cpu负载swap分区使用情况其中蓝色字体的服务是外部服务,也就是说不需要登陆被监控机,直接在外部就可以进行检查.例如我们需要检查被监控机是否打开80端口,就可以在别的一台机器上telnet被监控机的80端口即可.绿色字体表示是内部服务,意思是必须登陆到被监控机上才能查看.因为它们属于”本地信息”(nagios将之称为LOCAL).很容易理解,你不登陆到被监控机上,如何知道当前磁盘的使用情况呢?nagios是不是很强大,基本上对监控对象的任何信息都可以一手掌握了.而且不用登陆到目的机就可以看到那台机器私密的”本地信息”,比木马还厉害啊.但是别误会,这可不是什么木马.nagios有着十分安全的措施.这确实是一个庞大的工程,你想想这还只是三台机器而已都已经监控这么多服务了,那要是多个几十台怎么办,不用紧张,从现在开始,跟我动手吧.家庭作业,将所用的软件下载好,配置好监控机192.168.0.111上的apache.敬请期待nagios全攻略(二)----基本安装和配置(上)二. 基本安装和配置本部分主要参考官方文档和田逸的文章<<看我出招之:我用Nagios(技术细节)>>来修改完成.最后达到如下的功能监控机自身的信息,包括主机信息以及对外提供的服务被监控机对外提供的服务如下所有的操作都在监控机192.168.0.111上进行1.安装nagios主程序解压缩tar -zxvf nagios-2.9.tar.gzcd nagios-2.9编译,指定安装目录为/usr/local/nagios./configure --prefix=/usr/local/nagiosmake all输出如下信息求救,而实际上输出的内容包含很多有价值的信息,例如安装路径,版本,每一步做什么,接下来的步骤等.尤其是输出的最后一屏信息,我个人建议好好的读一下.例如上面就列出了很多有价值的信息,我们只需要按照他说的做就行了.安装make install[root@localhost nagios-2.9]#useradd nagios[root@localhost nagios-2.9]#mkdir /usr/local/nagios[root@localhost nagios-2.9]# chown nagios.nagios /usr/local/ nagios查看目录权限[root@localhost nagios-2.9]# ll /usr/localdrwxr-sr-x 2 nagios nagios 4096 Jul 10 11:14 nagios 看到nagios目录的权限已经被正确修改了执行如下命令来安装脚本make install-init执行make install-commandmode执行make install-config验证程序是否被正确安装。
服务器监测工具比较NagiosvsZabbixvsPrometheus在当今信息化时代,服务器监测工具的选择对于企业的运维管理至关重要。
本文将对三种常见的服务器监测工具——Nagios、Zabbix 和Prometheus进行比较,以帮助读者更好地了解它们的特点和适用场景。
Nagios:Nagios是一款开源的服务器监控工具,具有成熟稳定的特点。
它可以监控服务器、网络设备等各种资源,并提供实时的监控数据和报警功能。
Nagios的配置相对简单,适合中小型企业使用。
其插件化的设计使得用户可以根据需要自定义监控项,扩展性较强。
此外,Nagios有丰富的社区支持和文档资源,用户可以方便地获取帮助和解决问题。
Zabbix:Zabbix是另一款知名的开源监控工具,功能强大且易于使用。
与Nagios相比,Zabbix提供了更多的监控功能和图形化界面,用户可以直观地查看监控数据和趋势。
Zabbix支持自动发现和自动配置,能够快速部署和管理大规模的监控系统。
此外,Zabbix还提供了灵活的报警机制和报表功能,帮助用户及时发现和解决问题。
Prometheus:Prometheus是一款以时间序列数据库为基础的监控工具,适用于大规模分布式系统的监控。
Prometheus具有高度可扩展性和灵活性,支持多维度的数据模型和强大的查询语言。
其基于Pull模型的架构使得监控目标可以自行推送数据,减轻了监控系统的负担。
Prometheus还提供了丰富的图形化界面和告警管理功能,帮助用户全面了解系统的运行状态。
综合比较:在功能性方面,Nagios主要侧重于基础的服务器监控和报警,适用于对监控需求相对简单的企业;Zabbix在功能上更加全面,提供了更多的监控功能和可视化界面,适合对监控要求较高的企业;而Prometheus则更适合大规模分布式系统的监控,具有较强的扩展性和灵活性。
在部署和管理方面,Nagios相对简单易用,适合初学者和中小型企业使用;Zabbix提供了自动化配置和管理功能,适合大规模部署;Prometheus的可扩展性和灵活性使得其适用于复杂的分布式系统监控。
sql server mirror原理SQL Server镜像(Mirror)是一种高可用性解决方案,用于提供数据库级别的故障转移和自动故障恢复。
它通过创建一个与主数据库保持同步的镜像数据库来实现。
SQL Server镜像的工作原理如下:1.主数据库(Principal):主数据库是用户在正常操作时进行读写的数据库。
所有的更改操作都被记录在主数据库的事务日志(Transaction Log)中。
2.镜像数据库(Mirror):镜像数据库是与主数据库保持同步的备份数据库。
它通过从主数据库获取事务日志并应用到自身上来保持数据的一致性。
3.监视服务器(Witness):监视服务器是一个独立的第三方服务器,用于监视主数据库和镜像数据库之间的状态。
它负责决定是否要进行自动故障转移。
工作流程如下:①初始化镜像:首先,在主数据库上启用数据库镜像,并将镜像数据库与主数据库进行初始化同步。
这包括创建与主数据库一样的文件结构、拷贝数据和初始化日志复制。
②事务日志传送:一旦镜像数据库初始化完成,主数据库会将事务日志传送到镜像数据库。
通过数据库镜像端点(Database Mirroring Endpoint)建立的网络连接实现事务日志的传输。
③事务日志应用:镜像数据库接收到主数据库传送的事务日志后,会将其应用到自身上,以保持与主数据库的数据一致性。
④监视状态:监视服务器会定期检查主数据库和镜像数据库之间的网络连接和数据同步状态。
如果监视服务器发现主数据库不可访问或者与镜像数据库之间的通信中断,它将决定是否进行自动故障转移。
⑤自动故障转移:当监视服务器检测到主数据库不可用或者与镜像数据库的通信中断时,它会自动将镜像数据库提升为主数据库,并将之前的主数据库切换到镜像数据库的角色上。
⑥故障恢复:一旦故障转移完成,之前的主数据库(现在是镜像数据库)会尝试与新的主数据库恢复数据同步。
一旦数据同步完成,镜像数据库将恢复为与新主数据库保持同步的状态。
sqlserver 判断主备服务器的方法
有几种方法可以判断 SQL Server 的主备服务器:
1. 查询 sys.dm_hadr_availability_replica_cluster_states 视图:该视图提供了有关 AlwaysOn 可用性组的信息,包括主服务器和备服务器的信息。
可以检查 primary_role_desc 字段的值来确定当前SQL Server 是否为主服务器。
2. 查询 sys.dm_database_mirroring 的 mirror_state 列:这是用于监视数据库镜像状态的系统视图。
当 mirror_state 列的值为SYNCHRONIZED 时,表示服务器是主服务器。
3. 使用 T-SQL 查询 sys.dm_exec_requests 系统视图:这个视图提供了有关正在执行的请求的信息。
当在此视图中找到与数据库镜像相关的请求,并且 mirroring_state 列的值为 4(表示已连接到镜像服务器)时,表示当前查询的服务器是主服务器。
4. 检查数据库是否处于可用状态:如果使用 AlwaysOn 可用性组,可以查询 sys.dm_hadr_availability_group_states 视图来检查数据库的状态。
如果 is_primary_replica 列的值为 1,则表示当前服务器是主服务器。
需要注意的是,以上方法基于当前的状态来判断主备服务器,如果在执行查询的过程中状态发生了变化,结果可能会有所不同。
MS SQLServer安装与纯软高可用配置这里我们以MS SQLServer 2008为例,介绍MS SQLServer的安装以及通过MicroColor ServHA Mirror配置双机集群。
主要步骤:一、配置防火墙。
二、准备存储介质。
三、安装并配置ServHA Mirror。
四、安装MS SQLServer。
五、创建镜像包。
六、将Sql Server服务交由集群管理。
注意事项:一、S qlServer配置双机集群方案要求两机都安装SqlServer,其中SqlServer主服务安装在本机磁盘内(非镜像盘内),数据库实例安装在镜像盘内。
二、两机的SqlServer安装配置必须完全相同,例如:实例名,权限,密码。
三、双机目标镜像盘盘符必须一致。
安装文档实例参数:配置防火墙此步骤目的为让ServHA Mirror 工作所必须的端口不受防火墙的拦截,不同操作系统防火墙配置方式不同,但基本思想是相同的,在双机软件通信的过程中,如果没有进行设置,防火墙会阻止ServHA Mirror的通信,使双机集群工作异常。
MicroColor ServHA Mirror在配置的过程中主要需要设置的防火墙例外:1. 18562与25792端口:这两个端口为“ServHA 配置监控端”的连入端口,如不将这两个端口设置为防火墙例外端口,“ServHA 配置监控端”将无法连入集群,如果您修改过ServHA Mirror的“配置端连入端口号”,请将例外设置为修改过的“配置端连入端口号”;同时,针对该端口的例外IP您可以设置为常用来管理集群的客户计算机IP地址。
2. 15538与45782端口:这两个端口为集群双机相互通信的端口,如不将这两个端口设置为防火墙例外端口,ServHA Mirror将无法正常工作,如果您修改过ServHA Mirror 的“全局TCP/IP端口”,请将例外设置为修改过的“全局TCP/IP端口”;同时,针对该端口的例外IP设置为对机的IP地址即可。
nagios监控_SQLSERVER镜像_无见证服务器_实例测试
--by Gelsey_guo
测试环境如下:
OS:Windows 2008 R2
Software:Microsoft SQL Server 2008,nagios
镜像状态检测脚本:check_dbmirroring.pl、check_mssql_health.pl
脚本下载地址1:/directory/Plugins/Databases/SQLServer/Check-MSSQL-Database-Mirroring/details
脚本下载地址2:http://labs.consol.de/lang/de/nagios/check_mssql_health/
plugin安装参考地址:/tech/Monitor_SQL_Server_(MSSQL)_using_Nagios
主库IP:192.168.205.157
镜像库IP:192.168.205.158
测试库:lotbill、xclottery
测试前提:主库与镜像库间镜像正常
Nagios监控状态如下:
上图说明157与158镜像正常。
测试:
1、将157上主库切到镜像库158上
切换语句(1)如下:
use master
alter database LotBill set safety FULL;
ALTER DATABASE LotBill SET PARTNER FAILOVER;
use master
alter database xclottery set safety FULL;
ALTER DATABASE xclottery SET PARTNER FAILOVER;
此时157与158库中设置了镜像的库状态互换“正在还原...”
nagios查看158上镜像状态:
切换主库与镜像库,执行“切换语句”。
157与158库状态互换,nagios监控两机器的状态信息如下:
主备库切换正常。
2、停掉157上SQLSERVER服务(模拟主库服务崩溃状况)
Nagios查看两机器上的监控状态如下:
此时157机器上库不可访问,158机器上库的状态为“正在恢复”,同样不可访问。
在实际情况下,如157上主库迟迟没有恢复的迹象,为不影响正常服务,需要在158上执行下面第3点中的脚本。
开启157上的SQLSERVER服务,157机器上库的状态恢复为“主体,已同步”,158上库状态恢复为“正在还原...”,此时157机器恢复访问。
3、关闭157机器(模拟整个服务器崩溃的状况)
Nagios监控两机器的情况如下:
此时镜像库处于“正在恢复”状态。
当主服务器宕机或主实例崩溃时,在从库(158)执行如下脚本(可能有数据的丢失):
--This script does a failover of all the databases in a database mirroring session
--to the Mirror server. This will be used in cases where the PRINCIPAL server is no longer available --and the mirrored databases have to be brought online.
--NOTE: Run this script in the MIRRORED server instance
SET NOCOUNT OFF
DECLARE@strSQL NVARCHAR(200)--variable for dynamic SQL statement - variable size should change depending on the DECLARE@strDatabasename NVARCHAR(50)--variable for destination directory
DECLARE MyCursor CURSOR FOR--used for cursor allocation
SELECT name FROM master.sys.databases a
INNER JOIN master.sys.database_mirroring b
ON a.database_id=b.database_id
WHERE NOT mirroring_guid IS NULL
AND mirroring_role_desc='MIRROR'
OPEN MyCursor
FETCH Next FROM MyCursor INTO@strDatabasename
WHILE@@Fetch_Status= 0
BEGIN
---Run the ALTER DATABASE databaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
SET@strSQL='ALTER DATABASE '+@strDatabaseName+' SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS'
EXEC sp_executesql@strSQL
PRINT'Bringing '+@strDatabaseName+' ONLINE'
PRINT'========================================'
FETCH Next FROM MyCursor INTO@strDatabasename
END
CLOSE MyCursor
DEALLOCATE MyCursor
成功执行后提示如下:
158机器数据库状态由“正在恢复”转为“主体,已断开连接”如下(需要刷新下):
Nagios查看158单库运行状态如下:
数据库运行良好,正常对外提供服务。
157状态:
开起157机器(模拟原主库恢复的状况)。
157上库状态如下:
此时158的状态如下:
末进行resume前,nagios监控状态:
当原来的主服务器(157)恢复时,其数据库将处于“正在还原…”状态,而原来的镜像库(即现在的主体库158)将处于“主体,挂起”状态。
若要继续正常进行镜像,需在现在的主服务器(158)上恢复镜像,使用如下语句:
use master
alter database LotBill set partner resume;
alter database lotface set partner resume;
刷新数据库,查看状态,158上数据库将回到“主体,已同步”状态,而157上库状态则处于“正在还原…”
执行resume操作后,Nagios监控状态如下:
4、镜像库宕掉的状态
5、镜像库恢复后状态
------------------------------------------------------------------------------------------------------------------------------------
注(1):以下主从库切换,无特别说明均使用注1里面的语句。