1.服务器端收到的数据和客户端的数据不一样 print(request.post) 少发了,还是少取了,说明根本没有把数据全发过来 print(request.body) 1.只把字典的key给我发过来的 答:这是正常的,这种方式去提交的时候,伪造的是from表单的提交 2.你发数据向后台发点什么? 只可能存字符串,不可能存在字典 2.post是怎样把请求发到后台的 要发怎么发?把字典转换成字符串,必须这么发,因为后台它只认识这种请求头,根据这种结构进行解析 username: 'xxx' us…
在对获取资产信息时,简述有四种方案. 1.Agent  (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点:速度快 缺点:需要为每台服务器部署一个Agent程序 2.Paramiko类 (SSH形式,基于Paramiko模块) 中控机在获取未采集资产信息的服务器(服务器主机名,密码),依赖于Paramiko(py模块)通过SSH方式去获取 优点:无Agent  缺点:速度慢 如果在服务器较少的情况下,可应…
自动化运维平台愿景和服务器管理系统背景 服务器管理系统 管理后台示例 需求和设计 为什么开发服务器管理系统? 背景: 原来是用Excel维护服务器资产,samb服务[多个运维人员手动维护] 搭建运维自动化平台[服务器管理] 预算 部门合作数据交换,处理麻烦 目标: 硬件资产自动采集 API 架构设计: 采集资产[每台服务器上安装的客户端,agent,定时任务每天凌晨2点] API[入库和比较创建变更日志] 后台管理部分 系统目标 1. 自动采集服务器硬件资产信息 2. 报表 3. API(给其他…
一.sn号唯一 & 如何实现允许临时修改主机名 1.物理机 1.sn,物理机唯一 2.后台管理: 买服务器,清单:SN号,硬盘,内存... 作业:python 读取excel,xldt 3.资产采集:sn进行比较 2.物理机+虚拟机 1.hostname,前提先定义规则,主机名不允许重复 2.Agent: 买服务器,清单:SN号,硬盘,内存... 资产采集: hostname 3.SSh,salt: 后台管理: 买服务器,清单:SN号,硬盘,内存...,录入 装机: c1.com ... 二.问…
一.服务器管理回顾 1.requests 发送: requests.post(url='',data=,json=) requests.get() Django接受: request.POST, content-type: 2.API验证 key,time|time 二.问题汇总 1.汇总目录 a. 服务器资产采集系统流程? ssh:中控机, salt:master, agent:每台服务器都需要 b. 代码如何部署到服务器上? - git - 代码打成:rpm包,运维 yum install…
1.业务逻辑单独写 1.代码目录结构 2.client.py from src.plugins import PluginManager class BaseClient(object): def post_server_info(self): pass class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict = obj.exec_plugin() print(server_dict) cl…
资产采集唯一标识和允许临时修改主机名 class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict = obj.exec_plugin() new_hostname = server_dict['basic']['data']['hostname'] cert_path = os.path.join(settings.BASEDIR,'conf','cert') f = open(cert_pat…
1.用django的app作为统一调用库的好处 1.创建repository app截图如下: 2.好处如下: 1.app的本质就是一个文件夹 2.以后所有的app调用数据就只去repository调用 3.不用每个app建立一个库 4.也避免了多个app同事修改同一条数据的冲突 2.表结构设计类 3.具体代码 from django.db import models 1.服务器信息信息表 hostname = models.CharField(max_length=128, unique=Tr…
django中间件工作原理 整体流程: 在接受一个Http请求之前的准备 启动一个支持WSGI网关协议的服务器监听端口等待外界的Http请求,比如Django自带的开发者服务器或者uWSGI服务器. 服务器根据WSGI协议指定相应的Handler来处理Http请求,并且初始化该Handler,在Django框架中由框架自身负责实现这一个Handler. 此时服务器已处于监听状态,可以接受外界的Http请求 当一个http请求到达服务器的时候 服务器根据WSGI协议从Http请求中提取出必要的参数…
上节疑问: 1.老师我们已经写到global_settings里了,为什么还要写到__init__.py setting 这的作用是为了:整合起两个的组合global_settings和settings 2.导入的时候from lib.config import settings怎么能找到这个settings呢? 导入文件夹的时候它默认会执行里面的__init__.py 3.os.environ['AUTO_CLIENT_SETTINGS'] = "conf.settings"是什么作…
以后导入配置文件不用去from conf而是导入from lib.config,因为在这可以导入global_settings和settings.py import sys import os import importlib import requests BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASEDIR) os.environ['AUTO_CLIENT_S…
1.目录结构 1.服务器端 2.客户端 2.具体代码如下 1.数据库增加两个字段 class Server(models.Model): """ 服务器信息 """ # asset = models.OneToOneField('Asset') server_status_choices = ( (1, '上架'), (2, '在线'), (3, '离线'), (4, '下架'), ) server_status_id = models.Inte…
1.创建硬件资产信息 import json from django.shortcuts import render,HttpResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings from repository import models from .plugins import PluginManger @csrf_exempt def server(requ…
对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/…
1.表机构补充图 2.用户信息表(UserProfile) 1.解决了什么问题 1.这台服务器是谁管理的?2.真正出问题了我敢上去改代码了?不能3.所以一台机器必须有运维人员和业务负责人,但是业务负责人不登陆这个系统,4.要想登陆这个系统必须要用用户名密码,但是我这里只有部分人登录,应该怎么写 2.代码 class UserProfile(models.Model): """ 用户信息,运维管理员和业务负责人 50人 """ name = mod…
1.服务器端目录结构: 1.__init__.py from django.conf import settings from repository import models import importlib from .server import Server class PluginManger(object): def __init__(self): self.plugin_items = settings.PLUGIN_ITEMS self.basic_key = "basic&quo…
1.认证思路刨析过程 1.请求头去哪里拿? 1.服务器端代码: def test(request): print(request) return HttpResponse('你得到我了') 2.客户端1: import requests key = "asdfuasodijfoausfnasdf" response = requests.get('http://127.0.0.1:8000/api/test.html',headers={'auth_api':key}) print(r…
一.目录结构 二.获取数据,模板语言渲染 web\views.py import json from django.shortcuts import render,HttpResponse from django.http import JsonResponse from repository import models def server(request): return render(request,'server.html') def server_json(request): serv…
比较麻烦的实现方式 类的继承方式 目录结构如下: auto_client\bin\run.py import sys import os import importlib import requests BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASEDIR) os.environ['AUTO_CLIENT_SETTINGS'] = "conf.settings&q…
Ajenti 1.0 发布,服务器管理系统 - 开源中国社区 Ajenti 1.0 发布,服务器管理系统…
wdcp (WDlinux Control Panel) 是一套用PHP开发的Linux服务器管理系统,类似国外流行的cpanel,旨在易于使用和管理Linux服务器,可以在线通过网页管理服务器和虚拟主机.简单,方便,易操作.只有Linux版本,没有windows版本,让你方便地使用和管理Linux服务器,让不懂Linux的人也可以用Linux做服务器了.支持CentOS/RedHat/ubuntu/wdlinux_base/wdos 版本. 接下来我们分享一下wdcp常用的工具及命令 强制修改…
在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用开发过程.本篇主要介绍在管理系统中,如何实现微信用户分组信息的同步操作. 其实微信能够风风火火的原因,主要就是因为有用户信息,所以同步并管理好微信账号的关注用户数据是非常重要的.有了微信用户的数据,你可以和你任何应用系统对接,实现系统-手机客户端的数据整合,还可以对用户进行营销管理,如发送用户感兴趣…
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据SNMP进行的.而SNMP监控的性能指标很多都是通过snmpwalk采集设备的OID信息得到的,所以今天就来先介绍下,如何通过snmpwalk来采集设备的OID信息. 要使用snmpwalk采集设备的OID信息,需要以下几个步骤: 1. 理解snmpwalk的原理 2. 安装snmpwalk 3. snmpwalk参数说明 4. snmpwalk的使用方法 5. 使用snmpwalk采集设…
在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码.希望从一个更高的层次介绍微信的开发. 在<C#-MVC开发微信应用(6)--用户分组信息管理>具体介绍了微信用户分组接口的实现方法,本篇将介绍,如何在我的平台软件上进行管理我们微信上的用户分组. 其实微信能够风风火火的原因,主要就是因为有用户信息,所以同步并管理好微信账号的关注用户数据是非常重要的.有了微信用户的数据,你可以和你任何应用…
御界预警:3700余台SQL服务器被入侵挖矿 或导致严重信息泄露事件 https://zhuanlan.kanxue.com/article-8292.htm sqlserver的弱密码破解和提权攻击. 概述 本周腾讯安全应急响应中心接到客户求助,客户部署的腾讯御界高级威胁检测系统发现系统失陷感知信息,该公司安全管理人员及时联络腾讯安全专家协助分析威胁来源. 腾讯御界报告系统攻陷警报 腾讯安全工程师在征得客户同意后对客户机器进行远程取证,结合御界的关键日志,我们发现这是一起针对SQL Serve…
今天在园子里看到一篇文章: 借助Nodejs在服务端使用jQuery采集17173游戏排行信息 感觉用SS来实现相同功能更加简洁, 于是写了一下, 发现25行代码就搞定了 (包括自动翻页), 于是跟大家分享分享. 脚本: public void Run() { Default.Navigate("http://top.17173.com/index-0-0-0-0-0-0-0.html"); Default.Ready(); while(Default.Available) { var…
在linux 下怎么查看服务器的cpu和内存的硬件信息     可以按照如下方式进行操作: 一.查看cpu总个数方法: 1.首先执行top命令,如下图中内容所表示. 2.在top命令的显示界面,按数字键1,即可查看到当前系统中的总cpu数,如下图中内容所表示. 二.查看总内存的方法: 1.free命令主要用于显示内存数量,如下图中内容所表示. 2.一般使用free命令的-h参数,更人性化的显示,如下图中内容所表示. 扩展资料 linux通用命令: 1.date :print or set the…
首先采集disk的具体实现方上代码: # !/usr/bin/env python # -*- coding:utf-8 -*- from .base import BasePlugin import os,re import traceback from lib.response import BaseReponse class Disk(BasePlugin): def win(self,handler,hostname): ''' 执行命令拿到结果-磁盘 :return: ''' prin…
1.环境说明 操作系统:Windows Server 2008 R2 IP:192.168.10.135 官方文档地址 :https://docs.influxdata.com/telegraf/v1.10/ 2.安装包下载(windows) wget https://dl.influxdata.com/telegraf/releases/telegraf-1.10.3_windows_amd64.zip unzip telegraf-1.10.3_windows_amd64.zip 3.安装前…
作为服务器运维人员都知道,日常检查服务器问题并处理问题几乎占据了所有时间,检查服务器的繁琐也只有他们自己能体会,这些外界看似的“工作本分职责”,真是有苦难言.为此我专门研究了市面上三款主打的服务器管理软件,有些免费但界面繁琐,有些价格高昂居然上限只有寥寥几台,他们的价格及会员制度如下图:(辛苦整理,转载请注明出处,谢谢!) 下面来剖析下我常用的远程桌面,即图上第一款:IIS7远程桌面管理对比下来,iis7远程桌面的确更适合服务器运维人员,一次批量登录1000台已经不是世纪难题,且最关键的是支持月…