SA工具核心
sa-tools-core的Python项目详细描述
SA工具核心
系统管理员、系统管理员、dns、dns。.
安装
pip install sa-tools-core
开发指南
目前支持python2.7~python3.7
快速启动
# first clone this repo
cd sa-tools-core
make init
有关详细信息,请参见makefile。
修改代码后重新安装
make install
配置
cp local_config.py.example local_config.py
# then edit local_config.py
vi local_config.py
您也可以使用系统范围的配置路径,默认情况下为/etc/sa-tools/config.py
。
本地配置将重写sa_tools_core/consts.py。
有关其他第三方服务配置,请参见examples/config。
您可以将第三方服务配置放入/etc/sa-tools/
目录。
命令行工具
对于所有的cli工具,您可以键入-h
或--help
来获取帮助消息和示例。
SA通知
通知醒具、支持微信、WEWORK(企业微信)、电子邮件、短信、PushBullet、PushOver、电报
sa-notify --wechat user1 --content 'xxx'echo'xxx'| sa-notify --wechat user1,user2 --email user1@example.com user3@example.com
sa dns
域名系统
# 切 A 记录 sa-dns ensure main --type A --value 1.1.1.1 --enable # dry-run sa-dns ensure main --type A --value 1.1.1.1 --enable --dry-run # 切 A 记录,独占 sa-dns ensure main --type A --value 1.1.1.1 --enable --excl # 调整 ttl sa-dns ensure main --type A --value 1.1.1.1 --ttl 100 --enable # 批量切 CNAME 记录,常用于 CNAME 到 CDN 等操作 sa-dns ensure main --type CNAME --value {domain}.h1.aqb.so. --enable # 查找子域记录 sa-dns list -S music # 查找 aqb 相关记录(只返回符合该关键字的记录) sa-dns list -s aqb # 按正则查找子域(查看 aqb 的测试域名) sa-dns list | grep -E '^.*aqb\s'# 支持通过 -d,--domain 指定其他域名 sa-dns -d dou.bz list
SA脚本
基于ansible的远程脚本运行工具。要使用它,您需要先准备好您的ansible环境。
负责人、事件负责人(/etc/ansible/hosts)。
一、正切
- 兼容易位寄主模式
- 编辑编辑
- 批
- 卢克,壳牌公司
$ echo'uptime && echo $HOSTNAME $(whoami)'| sa-script test_zk Executing... 100%|######################################################|Elapsed Time: 0:00:09 +----------+----+-------------------------------------------------------+--------+ | host | rc | stdout | stderr | +----------+----+-------------------------------------------------------+--------+ | test-zk3 |0|11:40:15 up 384 days, 19:00, 1 user, load average: |||||0.16, 0.20, 0.26 test-zk3 user1 ||| test-zk2 |0|11:40:15 up 392 days, 20:00, 1 user, load average: |||||0.25, 0.22, 0.30 test-zk2 user1 ||| test-zk1 |0|11:40:15 up 392 days, 23:53, 1 user, load average: |||||0.30, 0.22, 0.25 test-zk1 user1 || +----------+----+-------------------------------------------------------+--------+
有关详细信息,请参见sa-script -h
。
待办事项:添加gif演示。
SA访问
访问日志、承包商
sa-access query sa-access query --term ip 1.1.1.1 sa-access query -t host example.com -x bandwidth --by ip sa-access query --term appname app1 -x count --by-script "doc['remote_addr'].value + ' ' + doc['normalize_url'].value" sa-access query --term appname app1 -x count --by-script "def ip=doc['remote_addr'].value; ip.substring(0, ip.lastIndexOf('.')) + ' ' + doc['normalize_url'].value" sa-access analyze --term host example.com -x sum bytes_sent --by nurl -a '2017-03-28 09:30' -d 15 -b '2017-03-28 10:30'
萨伊辛加
一、项目进展情况。
ICinga2文档:http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc
# try test sa-icinga notify --wechat user1 --email user1@example.com --test sa-icinga notify --wechat user1 --email user1@example.com # need icinga pass os environment vars sa-icinga ack --host sa --service check-puppet --comment 'hehe' sa-icinga ack --host 'sa*' --service 'check-puppet' sa-icinga ack --host 'sa*' --service 'check-puppet' --remove sa-icinga show --filter 'host.name == "sa" && service.name == "check-puppet"' sa-icinga show --type host --filter 'match("sa*", host.name)'| less sa-icinga show --type service --filter 'regex("check_[a-z]*", service.name)'| less sa-icinga show --type notification --filter 'notification.host_name == "sa"'| less sa-icinga show --type user | grep user1 sa-icinga show --filter 'service.name == "check-puppet"' --attrs acknowledgement
SA盘
《独立式、独立式、独立式》
sa-disk usage sa-disk usage -n 5 -d 3 sa-disk usage -r /data1/ncdu-export-%-20160513142844.gz sa-disk usage -c /tmp sa-disk usage -p /data sa-disk usage --force-check sa-disk clean
sa bs
sa-bs
需
sa-bs device list -j sa-bs device list -a alias sa-bs device list --alias host sa-bs vpc list -e createTime vpcId sa-bs vpc subnet sa-bs vpc subnet_ips --vpcId 1001 --subnetId 6555 -j sa-bs vpc subnet_ips --subnetName SA sa-bs vpc subnet_by_cpm_id --alias host22 sa-bs eip list -a eip sa-bs lb list sa-bs -vvvv eip list --eipIds '[\\"eip-xxxxxxxx\\"]' -r sa-bs eip list --eip 1.1.1.1 sa-bs vpc register_batch_ip --subnetName SA --ip 10.0.0.1 sa-bs eip apply sa-bs eip bind_vpc_ip --eip 1.1.1.1 --vpcIp 10.0.0.1 sa-bs vpc create_interface --alias host11 host22 --subnetName DBA-dummy sa-bs device reload_os --passwd XXXXXX --subnetName OfflineComputation --alias host88 sa-bs device modify_alias --alias host33 --instanceId cpm-xxxxxxxx sa-bs -vvvv vpc create_subnet --subnetName Isolation-dummy --cidrBlock 10.0.1.0/24 --vlanId 2222## 机型组合 sa-bs device list -e deviceClassCode sa-bs device os --deviceClassCode Y0-BS09v2 -a osNameDisplay osTypeId sa-bs device class_partition --cpuId 4 --diskNum1 2 --diskNum2 12 --diskTypeId1 1 --diskTypeId2 6 --haveRaidCard 0 --mem 64 --deviceClassCode "Y0-BS09v2" sa-bs device class_partition --cpuId 4 --diskNum1 2 --diskNum2 12 --diskTypeId1 1 --diskTypeId2 6 --haveRaidCard 0 --mem 64 sa-bs device elastic_price --cpuId 4 --diskNum1 2 --diskNum2 12 --diskTypeId1 1 --diskTypeId2 6 --haveRaidCard 0 --mem 64 sa-bs device inventory --cpuId 4 --diskNum1 2 --diskNum2 12 --diskTypeId1 1 --diskTypeId2 6 --haveRaidCard 0 --mem 64 --deviceClassCode "Y0-BS09v2" --subnetName OfflineComputation sa-bs device hardware_info --alias host11 sa-bs device hardware_specification ### 购买机器 ( see https://cloud.tencent.com/document/api/386/6638 ) sa-bs device buy --goodsNum 2 --timeSpan 1 --timeUnit m --alias new_host \ --subnetName SA --ip 10.0.0.2 10.0.0.3 \ --cpuId 4 --diskNum1 2 --diskNum2 12 --diskTypeId1 1 --diskTypeId2 6 --haveRaidCard 0 --mem 64\ --raidId 25\ --deviceClassCode "Y0-BS09v2" --needSecurityAgent 0 --needMonitorAgent 0 --autoRenewFlag 1 sa-bs device deploy_process --instanceId cpm-xxxxxxxx sa-bs device deploy_process --alias host11 sa-bs device operation_log --alias host22 ## CVM sa-bs cvm instances
客户机
也可以从客户端调用工具。
fromsa_tools_core.clientimportClientc=Client()c.notify(wework='user1',content='hehe')c.uptime()c.dns.list(S='@')
有关详细信息,请参见sa_tools_core/client.py。