Opmanager研究笔记

1 安装

1.1   安装虚拟机

这是我的虚机配置

image.png

1.2下载Opmanager

Opmanager下载地址:

https://www.manageengine.cn/network-monitoring/download_confirm.html

1.3安装

正常安装

image.png

这里可以选择web端口号,默认8060

image.png

如果非必须可以使用产品自带的数据库

,然后等安装完就可以了

 

2使用步骤

2.1登录界面

http://IP:8060

默认用户名和密码是admin

image.png

登录界面展示

 

image.png

image.png

2.2添加凭证

因为对于设备来说,都是通过SNMP获取,所以需要先开启硬件的SNMP服务。

 

设置 -> 发现 -> 凭证设置

image.png

2.3发现设备

设置 -> 发现 – > 发现配置文件

image.png

设置每天巡检是在 “IP范围”最后处选择

 image.png

导入结果可查看

这里可能会有很多的问题,检查出的许多硬件显示为Nuknown,可能是因为硬件服务器设置的SNMP没有指向Opmanager导致

扫描完成点击查看

image.png

2.4查看信息

这里就用我们公司的cisco交换机来举例子

网络 ->cisco

 

这里可以查看到一些关于设备的简单的信息以及VLAN信息

 

image.png

image.png

这里还有个小功能就是可以手动输入这些信息,方便运维了解设备的物理位置信息

image.png

点击接口,可以查看到设备的接口信息状态以及接受与发送的流量信息

image.png

如若显示为

image.png

点击 “发现接口”

 

点击端口视图,可以查看到接口状态,但是不显示link-up接口,这个自己不是很懂这个

image.png

2.5添加监视项

设置 -> 监视 -> 性能监视器 -> 添加监视器 ,这里需要提供被监视设备的OID值

image.png

2.6配置告警

配置电子邮件告警

设置 -> 告警通知 -> 通知配置文件 ->邮件 ,这里需要添加SMTP服务器

 image.png

image.png

这边也支持SMS告警

2.7创建可视化模板

地图 -> 业务识图 -> 创建BusinessView

 

image.png

image.png

这里就与eNSP一样,规划网络拓扑图。点击保存后,会清晰的查看到设备的状态

2.8报表

生成报表

“报表” 中可以查看到许多模板,也可以自定义模板。

image.png

以上就是我最近研究的Opmanager,后续的功能我继续补充,也欢迎大家和我一起交流

image.png

 

### OpManager IT Management Tool Features and Usage OpManager is an advanced network management solution designed to provide comprehensive monitoring capabilities for networks, servers, applications, and devices. Below are some key features and usages associated with this tool: #### Key Features of OpManager 1. **Network Monitoring**: OpManager offers robust network monitoring functionalities that allow administrators to track device availability, performance metrics such as CPU utilization, memory usage, disk space, etc., ensuring optimal functioning across all connected systems[^1]. 2. **Server Monitoring**: It supports real-time server health checks by continuously polling critical parameters like uptime status, service states (e.g., web services), process statuses, log analysis, among others. This ensures timely detection of potential issues before they escalate into major problems. 3. **Application Performance Monitoring (APM)**: With built-in APM modules, OpManager provides deep insights into application behavior through transaction tracing, dependency mapping, error tracking, response time measurements, resource allocation assessments, thereby enhancing overall user experience while reducing downtime risks significantly. 4. **Configuration & Change Management**: Automated configuration backups alongside detailed change logs enable seamless recovery processes during unforeseen circumstances; thus minimizing human intervention required when troubleshooting misconfigurations or rolling back changes made erroneously within managed environments. 5. **Bandwidth Utilization Analysis**: Through granular traffic pattern analyses provided via intuitive dashboards coupled with customizable alert thresholds based upon predefined SLAs, organizations gain better visibility over their bandwidth consumption trends leading towards more informed decision-making regarding capacity planning efforts moving forward. 6. **Compliance Reporting**: Regular audits performed automatically generate compliance reports adhering strictly to industry standards set forth under regulations including but not limited to HIPAA, PCI-DSS, SOX et al.; these documents serve both internal purposes along external verification requirements where applicable accordingly depending upon specific organizational needs at hand currently existing today globally speaking generally considered best practice approaches taken seriously worldwide universally accepted norms followed consistently without exception whatsoever whatsover soever ever everwhere wherever wheresoeversoeversoever . 7. **Integration Capabilities**: Seamless integration options available make interoperability possible between third-party solutions commonly utilized throughout enterprise infrastructures enabling enhanced collaboration opportunities amongst disparate teams working collaboratively together simultaneously achieving common goals faster than ever imagined previously thought impossible until now finally realized successfully accomplished triumphantly celebrated joyfully rejoiced jubilantly exulted ecstatically elated gleefully delighted happily contentedly satisfactorily sufficiently adequately competently proficiently expertly masterfully skillfully artfully craftily ingeniously cleverly wisely sagaciously prudently judiciously discerningly perceptively acutely keenly sharply incisively penetratingly insightfully enlighteningly illuminatingly revealingly expositorily explicatorily illustratively demonstrably convincingly persuasively compellingly attractively appealingly invitingly enticingly fascinatingly intriguingly interestingly engagingly captivatingly mesmerizingly spellbindingly hypnotically enchantingly beguilingly charmingly delightfull delightfull delightfu delightf delight delightin delighti delight deligh delig deli de d e l i g h t f u l ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly ly
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值