注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

salt-mater的配置参数解说(收集)  

2015-12-19 08:00:02|  分类: 系统监控 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
也许因为openstack,python的应用越来越热,基于python开发的系统也就倍受关注。salt就是一个例子吧。

#主配置 /etc/salt/master

interface

默认值:0.0.0.0(所有的网络地址接口)

绑定到本地的某个网络地址接口

de>1.de>de>interface: 192.168.0.1de>

 

publish_port

默认值:4505

设置master与minion的认证通信端口

de>1.de>de>publish_port: 4505de>

 

user

默认值:root

运行salt进程的用户 

de>1.de>de>user: rootde>

 

max_open_files

默认值:100000

每一个minion连接到master,至少要使用一个文件描述符,如果足够多的minion连接到master上,你将会从控制台上看到salt-master crashes:

Too many open files (tcp_listener.cpp:335)

Aborted (core dumped)

默认值这个值取决于ulimit -Hn的值,即系统的对打开文件描述符的硬限制

如果你希望重新设置改值或者取消设置,记住这个值不能超过硬限制,提高硬限制取决于你的操作系统或分配,一个好的方法是internet找到对应操作系统的硬限制设置,比如这样搜索:

raise max open files hard limit debian 

de>1.de>de>max_open_files: 100000de>

 

worker_threads

默认值:5

启动用来接收或应答minion的线程数。如果你有很多minion,而且minion延迟你的应答,你可以适度的提高该值.

在点对点的系统环境中使用时,该值不要被设置为3以下,但是可以将其设置为1

de>1.de>de>worker_threads: 5de>

 

ret_port

默认值:4506

这个端口是master用来发送命令或者接收minions的命令执行返回信息 

de>1.de>de>ret_port: 4506de>

 

pidfile

默认值:/var/run/salt-master.pid

指定master的pid文件位置 

de>1.de>de>pidfile: /var/run/salt-master.pidde>

 

root_dir

默认值:/

指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot 

de>1.de>de>root_dir: /de>

 

pki_dir

默认值:/etc/salt/pki

这个目录是用来存放pki认证秘钥 

de>1.de>de>pki_dir: /etc/salt/pkide>

 

cachedir

默认值:/var/cache/salt

这个目录是用来存放缓存信息,特别是salt工作执行的命令信息 

de>1.de>de>cachedir: /var/cache/saltde>

 

keep_jobs

默认值:24

设置保持老的工作信息的过期时间,单位小时

 

job_cache

默认值:True

设置master维护的工作缓存,这是一个很好的功能,当你的Minons超过5000台时,他将很好的承担这个大的架构,关闭这个选项,之前的工作执行以及工作系统将无法被利用,一般不推荐关掉改选项,开启改选项将会是很明智的,他将使master获得更快的IO系统

 

ext_job_cache

默认值:”

对所有的minions使用指定的默认值returner,当使用了这个参数来指定一个returner并且配置正确,minions将会一直将返回的数据返回到returner,这也会默认值禁用master的本地缓存 

de>1.de>de>ext_job_cache: redisde>

 

minion_data_cache

默认值:True

minion data cache是关于minion信息存储在master上的参数,这些信息主要是pillar 和 grains数据.这些数据被缓存在cachedir定义的目录下的minion目录下以minion名为名的目录下并且预先确定哪些minions将从 执行回复 

de>1.de>de>minion_cache_dir: Truede>

 

enforce_mine_cache

默认值:False

默认情况下当关闭了minion_data_cache,mine将会停止工作,因为mine是基于缓存数据,通过启用这个选项,我们将会显示的开启对于mine系统的缓存功能 

de>1.de>de>enforce_mine_cache: Falsede>

 

sock_dir

默认值:/tmp/salt-unix

指定unix socket主进程通信的socket创建路径

 


master的安全配置

 

open_mode

默认值:False

open_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将 会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True

de>1.de>de>open_mode: Falsede>

 

auto_accept

默认值:False

开启auto_accept。这个设置将会使master自动接受所有发送公钥的minions

de>1.de>de>auto_accept: Falsede>

 

autosign_file

默认值:/etc/salt/autosign.conf

如果autosign_file的值被指定,那么autosign_file将会通过该输入允许所有的匹配项,首先会搜索字符串进行匹配,然后通过正则表达式进行匹配。这是不安全的

de>1.de>de>autosign_file: /etc/salt/autosign.confde>

 

client_acl

默认值:{}

开启对系统上非root的系统用户在master上执行特殊的模块,这些模块名可以使用正则表达式进行表示

de>1.de>de>client_acl:de>
de>2.de>de>fred:de>
de>3.de>de>- de>de>testde>de>.de>de>pingde>
de>4.de>de>- pkg.*de>

 

client_acl_blacklist

默认值:{}

黑名单用户或模块

这个例子表示所有非sudo用户以及root都无法通过cmd这个模块执行命令,默认情况改配置是完全禁用的

de>1.de>de>client_acl_blacklist:de>
de>2.de>de>usersde>de>:de>
de>3.de>de>- rootde>
de>4.de>de>- '^(?!sudo_).*$'    de>de># all non sudo usersde>
de>5.de>de>modules:de>
de>6.de>de>- cmdde>

 

external_auth

默认值:{}

salt的认证模块采用外部的认证系统用来做认证和验证用户在salt系统中的访问区域

de>1.de>de>external_auth:de>
de>2.de>de>pam:de>
de>3.de>de>fred:de>
de>4.de>de>- de>de>testde>de>.*de>

 

token_expire

默认:43200

新令牌生成的时间间隔,单位秒,默认是12小时

de>1.de>de>token_expire: 43200de>

 

file_recv

默认值:False

允许minions推送文件到master上,这个选项默认是禁用的,出于安全考虑

de>1.de>de>file_recv: Falsede>

 

#######################

master模块管理

 

runner_dirs

默认值:[] 设置搜索runner模块的额外路径

de>1.de>de>runner_dirs: []de>

 

cython_enable

默认值:False

设置为true来开启对cython模块的编译

de>1.de>de>cython_enable: Falsede>

 


master状态系统设置

 

state_verbose

默认:False

state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查

de>1.de>de>state_verbose: Truede>

 

state_output

默认值:full

state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse “时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置 为”change”时,输出将会完全输出除非状态没有改变

de>1.de>de>state_output: fullde>

 

state_top

默认值:top.sls

状态系统使用一个入口文件告诉minions在什么环境下使用什么模块,这个状态入口文件被定义在基础环境的相对根路径下

de>1.de>de>state_top: de>de>topde>de>.slsde>

 

external_nodes

默认值:None

这个外部节点参数允许salt来收集一些数据,通常被放置在一个入口文件或外部节点控制器.外部节点的选择是可执行的,将会返回ENC数据,记住如果两者都启用的话salt会将外部节点和入口文件的结果进行综合汇总。

de>1.de>de>external_nodes: cobbler-ext-nodesde>

 

renderer

默认值:yaml_jinja

使用渲染器用来渲染minions的状态数据

de>1.de>de>renderer: yaml_jinjade>

 

failhard

默认值:False

设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态

de>1.de>de>failhard: Falsede>

 

test

默认值:False

如果真的要作出改变或者仅仅通知将要执行什么改变时设置所有的状态调用为test

 

test: False

 

#######################

master文件服务器设置

 

fileserver_backend

默认值:

de>1.de>de>fileserver_backend:de>
de>2.de>de>- rootsde>

 

salt支持模块化的后端文件系统服务器,它允许salt通过第三方的系统来管理收集文件并提供给minions使用,可以配置多个后端文件系统, 这里支持gitfs、hgfs、roots、s3fs文件调用的搜索顺序按照后台文件系统的配置顺序来搜索,默认的设置只开启了标准的后端服务器 roots,具体的根选项配置通过file_roots参数设置

de>1.de>de>fileserver_backend:de>
de>2.de>de>- rootsde>
de>3.de>de>- gitfsde>

 

file_roots

默认值:

de>1.de>de>base:de>
de>2.de>de>- /srv/saltde>

 

salt运行一个轻量级的文件服务器通过ZeroMQ对minions进行文件传输,因此这个文件服务器是构造在master的守护进程中,并且不需要依赖于专用的端口

文件服务器的工作环境传递给master,每一个环境可以有多个跟目录,但是相同环境下多个文件的子目录不能相同,否则下载的文件将不能被可靠的保证,一个基础环境依赖于主的入口文件,如: 

de>01.de>de>file_roots:de>
de>02.de>de>base:de>
de>03.de>de>- /srv/saltde>
de>04.de>de>dev:de>
de>05.de>de>- /srv/salt/dev/servicesde>
de>06.de>de>- /srv/salt/dev/statesde>
de>07.de>de>prod:de>
de>08.de>de>- /srv/salt/prod/servicesde>
de>09.de>de>- /srv/salt/prod/statesde>

 

hash_type

默认值:md5

hash_type是用来当发现在master上需要对一个文件进行hash时的hash使用的算法,默认是md5.但是它也支持sha1,sha224,shar256,shar384,shar512 

de>1.de>de>hash_type: md5de>

 

file_buffer_size

默认值:1048576

文件服务器的缓存区大小 

de>1.de>de>file_buffer_size: 1048576de>

 


pillar配置

 

pillar_roots

默认值: 

de>1.de>de>base:de>
de>2.de>de>- /srv/pillarde>

 

设置不同的环境对应的存放pillar数据的目录,这个配置和file_roots参数配置一样 

de>1.de>de>pillar_roots:de>
de>2.de>de>base:de>
de>3.de>de>- /srv/pillarde>
de>4.de>de>dev:de>
de>5.de>de>- /srv/pillar/devde>
de>6.de>de>prod:de>
de>7.de>de>- /srv/pillar/prodde>

 

ext_pillar

当进行pillar数据收集时,这个ext_pillar参数允许调用任意数量的外部pillar接口,这个配置是基于ext_pillar函数, 你可以从这个找到这个函数https://github.com/saltstack/salt/blob/develop/salt/pillar

默认情况下,这个ext_pillar接口没有配置运行

默认值:None 

de>1.de>de>ext_pillar:de>
de>2.de>de>- hiera: /etc/hiera.yamlde>
de>3.de>de>- cmd_yaml: de>de>catde> de>/etc/salt/yamlde>
de>4.de>de>- reclass:de>
de>5.de>de>inventory_base_uri: /etc/reclassde>

 

从这里可以查到pillar的一些额外细节

 


syndic server配置

 

syncdic是salt master用来通过从整体架构中高于自己层级的master或者syndic接收命令传递给minions的中间角色。使用syndic非常简单,如果 这个master在整体架构中,他的下级存在syndic server,那么需要将master的配置文件中的”order_master”值设置为True,如果这个master还需要运行一个syndic进 程,扮演另外一个角色,那么需要设置主master server的信息(上一级master)

千万别忘记了,这将意味着它将与其他master共享它的minion的id和pki_dir

 

order_masters

默认值:False

当额外的数据需要发送和传递,并且这个master控制的minions是被低等级的master或syndic直接管理下,那么”order_masters”这个值必须得设置为True 

de>1.de>de>order_master: Falsede>

 

syndic_master

默认值:None

如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级的master的地址 

de>1.de>de>syndic_master: masterofmastersde>

 

syndic_master_port

默认值:4506

如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级master的监听端口 

de>1.de>de>syndic_master_port: 4506de>

 

syndic_log_file

默认值:syndic.log

为syndic进程指定日志文件 

de>1.de>de>syndic_log_file: salt-syndic.logde>

 

syndic_pidfile

默认值:salt-syndic.pid

为syndic进程指定pid文件 

de>1.de>de>syndic_pidfile: syndic.pidde>

 


Peer Publish设置

 

salt minions可以向其他minions发送命令,但是仅仅在minion允许的情况下。默认情况下”Peer Publication”是关闭的,当需要开启的时候,需要开启对应的minion和对应的命令,这样可以允许根据个人的minions安全的划分出命令

 

peer

默认值:{}

这个配置使用正则表达式去匹配minions并且是一个正则表达式列表函数,下面这个例子将允许名为foo.example.com的minion认证通过后执行test和pkg模块中的函数 

de>1.de>de>peer:de>
de>2.de>de>foo.example.com:de>
de>3.de>de>- de>de>testde>de>.*de>
de>4.de>de>- pkg.*de>

 

这将允许所有的minion执行所有的命令 

de>1.de>de>peer:de>
de>2.de>de>.*:de>
de>3.de>de>- .*de>

 

这样的配置是极不推荐的,因为任何人得到架构中的任何一个minion即可拥有所有的minions,这是不安全的

 

peer_run

默认值:{}

peer_run参数是用来打开runners在master所允许的minions上,peer_run的配置匹配格式和peer参数的配置一样

下面这个例子允许foo.example.com的minion执行manage.up runner 

de>1.de>de>peer_run:de>
de>2.de>de>foo.example.com:de>
de>3.de>de>- manage.upde>

 

NODE GROUPS

默认值:{}

minions允许通过node groups来分成多个逻辑组,每个组由一个组名和复合模式组成 

de>1.de>de>nodegroups:de>
de>2.de>de>group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'de>
de>3.de>de>group2: 'G@os:Debian and foo.domain.com'de>

 


Master日志设置

 

log_file

默认值:/var/log/salt/master

master的日志可以发送到一个普通文件,本地路径名或者网络位置,更多详情

例如: 

de>1.de>de>log_file: /var/log/salt/masterde>
de>2.de>de>log_file: de>de>filede>de>:///dev/logde>
de>3.de>de>log_file: udp://loghost:10514de>

 

log_level

默认值:warning

按照日志级别发送信息到控制台,更多详情 

de>1.de>de>log_level: warningde>

 

log_level_logfile

默认值:warning

按照日志级别发送信息到日志文件,更多详情 

de>1.de>de>log_level_logfile: warningde>

 

log_datefmt

默认值:%H:%M:%S

发送到控制台信息所用的日期时间格式,更多详情 

de>1.de>de>log_datefmt: '%H:%M:%S'de>

 

log_datefmt_logfile

默认值: %Y-%m-%d %H:%M:%S

发送到日志文件信息所用的日期时间格式,更多详情 

de>1.de>de>log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'de>

 

log_fmt_console

默认值: [%(levelname)-8s] %(message)s

控制台日志信息格式,更多详情 

de>1.de>de>log_fmt_console: '[%(levelname)-8s] %(message)s'de>

 

log_fmt_logfile

默认值: %(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s

%(asctime)s:2003-07-08 16:49:45

%(msecs)03.0f:当前时间的毫秒部分

%(name):日志记录调用器的名字

%(levelname):日志记录级别

%(message)s:日志详细信息

日志文件信息格式,更多详情 

de>1.de>de>log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'de>

 

log_granular_levels

默认值:{}

这可以更加具体的控制日志记录级别,更多详情

 


Include 配置

 

default_include

默认值:master.d/*.conf

master可以从其他文件读取配置,默认情况下master将自动的将master.d/*.conf中的配置读取出来并应用,其中master.d目录是相对存在于主配置文件所在的目录

 

include

默认值:not defined

master可以包含其他文件中的配置,要启用此功能,通过此参数定义路径或文件,此路径可以是相对的也可以是绝对的,相对的,会被看作相对于主配 置文件所在的目录,路径中还可以使用类似于shell风格的通配符,如果没有文件匹配的路径传递给此选项,那么master将会在日志中记录一条警告的消 息 

de>01.de>de># Include files from a master.d directory in the samede>
de>02.de>de># directory as the master config filede>
de>03.de>de>include: master.d/*de>
de>04.de> 
de>05.de>de># Include a single extra file into the configurationde>
de>06.de>de>include: /etc/roles/webserverde>
de>07.de> 
de>08.de>de># Include several files and the master.d directoryde>
de>09.de>de>include:de>
de>10.de>de>- extra_configde>
de>11.de>de>- master.d/*de>
de>12.de>de>- /etc/roles/webserverde>
  评论这张
 
阅读(131)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017