#puppetdb
Explore tagged Tumblr posts
techenoid-blog · 6 years ago
Text
Puppet Training
The Techenoid Puppet Training is all about providing the information and the knowledge of the respective training. The people who will join the course will be benefited with the information as well as the projects which gives the overview of the real based projects in the field. They will be able to learn about puppet open source management utility tool, architecture etc. Enroll yourself in the demo class now!
Why learn Puppet Training?
The online Puppet Training by techenoid gives you the complete knowledge and the understanding of the functioning and the components of the training course one will be able to learn about the puppet open source management utility tools, architecture, puppet administration, environments, puppet console, purpose of puppetDB, usage of Mcollective etc. The learners will be able to grab the opportunity of the projects which are included in it. These projects are based on the real time problems of the industries. The experts who are involved in the teachings of the training course and the projects are always on the go of explaining and guiding the students. Also, one will be able to crack a job in a multi-national company with the highest of the salary package. The certification of the training course holds a value in the life and the career of the learner. The career of the person doing the puppet training will be set and they will be in the finest position after the completion of the training.
What are the Objectives of Puppet training online courses?
The objective of the training course is designed to give the learners the complete information about the training course. These objectives make sure that the learner becomes efficient and skilled in their respective field of learning.
The training gives the introduction to the puppet infrastructure.
It is known for maintaining a learning environment.
The people will be able to learn about the resources, RALs and establishes modules.
The learners will be given knowledge about the ordering and the trifecta variables and facts code compression.
Another objective of the course is puppet master/agent and forges.
The projects included in the course gives the knowledge about the practicality of the field and also help them to seek jobs in the multi national companies.
The training gives the introduction to the puppet infrastructure.
It is known for maintaining a learning environment.
The people will be able to learn about the resources, RALs and establishes modules.
The learners will be given knowledge about the ordering and the trifecta variables and facts code compression.
Another objective of the course is puppet master/agent and forges.
The projects included in the course gives the knowledge about the practicality of the field and also help them to seek jobs in the multi national companies.
What skills will you learn with our Puppet Training?
The skills which are included in the training course aim to make the learners pro at what they are doing. The skillful learning and focusing on maintaining the level of their learning which helps them to enhance their abilities and also gives them the real check on the projects which polishes them to be better than the best.
The students will be introduced to the puppet open source management utility tool.
The puppet architecture.
The puppet administration.
They will be given the overview of the environments in puppet.
The learners will get to know about the purpose of puppetDB, puppet console.
Also the knowledge of the usage of the Mcollective, puppet container registry, code manager etc.
The complete exposure to he projects which are based on the real time situations of the industry. This will help them to enhance their abilities and gives the complete picture about the current scenario of the industry.
Who should take this training course?
The people who have a special interest in the puppet industry and also who want to create their future in this field can get their hands tried on the course. There are no pre requisites required for the learners to do the course. All what is wanted is the zeal to do the course. Also, there are some of the people who can be most benefitted by the course and they are listed below
System administrators
Consultants
Database designers
Architects
Beginners or aspirants who want their career in this field
What projects are included in this Puppet Training online course?
The projects which are involved in the puppet training online course gives you the complete picture of what the learners are going to face in the real world of the industry. The projects are selected based on the real time problems of the industry which helps the learners to polish their capabilities and abilities and also helps them to enhance their practical skills. The experts which are into the projects helps the students to face the difficulties and guides them time to time. The projects involved can add a lot to resume of the person and work for them in seeking jobs.
How will Puppet training help your career?
The training helps the learners to set their career in the particular field. The puppet training will help the people and the students to enhance their skills and the abilities before entering into the world of the business or industry. It will help them to learn about the puppet open source management utility tools, architecture, puppet administration, environments, puppet console, purpose of puppetDB, usage of Mcollective etc. The projects which are involved in the learning of the training course help the students to be more skillful and gives them the knowledge about how to face difficulties in the field. All these things will help the people to be pro at what they have learnt and also will help those seeking jobs in multi-national companies which are always ready to pay highest salaries to the puppet professionals.
2 notes · View notes
computingpostcom · 3 years ago
Text
Today we will explore installation of Puppet Server on CentOS 8 | RHEL 8|Rocky Linux 8 Linux machine. A separate guide on the installation and configuration of Puppet Agent will be published as well. Puppet operates in an agent-master architecture, in which a master node controls configuration information for a fleet of managed agent nodes. The Puppet Server performs the role of the master node. Puppet Server is a Ruby and Clojure application that runs on the Java Virtual Machine (JVM) and provides the same services as the classic Puppet master application. It mostly does this by running the existing Puppet master code in several JRuby interpreters, but it replaces some parts of the classic application with new services written in Clojure. There are two editions of Puppet: Puppet Enterprise (PE) Puppet Open Source If you’re going for a Puppet Enterprise edition, its architecture is as shown below. The Puppet platform comprises of the following components: Package Contents puppetserver Puppet Server . This controls configuration information for a fleet of managed agent nodes puppetdb PuppetDB – collects data generated by Puppet . It enables advanced Puppet features like exported resources. puppet-agent Puppet, Facter, Hiera, the PXP agent, root certificates, and prerequisites like Ruby and Augeas. The agent runs on any node in Puppet cluster. puppetdb-termini Plugins to connect your master to PuppetDB Install Puppet 6.x Master on CentOS 8 / RHEL 8 / Rocky Linux 8 There are many ways of installing Puppet Master on CentOS 8 Linux system. The common and easiest method is pulling the packages required from the YUM repository provided and maintained by Puppet. Step 1: Update CentOS machine Ensure your CentOS 8 machine is updated: sudo dnf -y update sudo dnf -y install wget curl vim bash-completion As update includes latest kernel packages, consider rebooting the machine if no critical applications are running in it. sudo systemctl reboot Step 2: Set System Hostname and Configure Chrony Set a proper hostname for your machine. sudo hostnamectl set-hostname puppetmaster.example.com Ensure the hostname has proper DNS record and also update /etc/hosts file. $ sudo vim /etc/hosts 192.168.122.12 puppetmaster.example.com puppetmaster Where: 192.168.122.12 is the IP Address of Puppet Server puppetmaster.example.com is the FQDN of Puppet Server Logout then login again to confirm the hostname. $ exit $ hostname puppetmaster.example.com Configure Chrony NTP sudo dnf -y install chrony sudo systemctl enable --now chronyd sudo timedatectl set-timezone Africa/Nairobi --adjust-system-clock sudo timedatectl set-ntp yes Confirm date and time is correctly configured. $ timedatectl Local time: Sat 2020-04-18 14:33:26 EAT Universal time: Sat 2020-04-18 11:33:26 UTC RTC time: Sat 2020-04-18 11:33:25 Time zone: Africa/Nairobi (EAT, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no Step 3: Add Puppet Yum repository Add the repository required by running the command below in your terminal. sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm Also consider adding EPEL repository: sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf config-manager --set-enabled powertools Step 4: Install Puppet Master on CentOS 8 / RHEL 8 / Rocky Linux 8 With all the pre-reqs configured, you can begin the installation of Puppet Master on CentOS 8 / RHEL 8 / Rocky Linux 8 Linux. Update Package list cache: $ sudo dnf makecache CentOS-8 - AppStream 4.2 kB/s | 4.3 kB 00:01 CentOS-8 - Base 5.7 kB/s | 3.8 kB 00:00
CentOS-8 - Extras 1.8 kB/s | 1.5 kB 00:00 CentOS-8 - PowerTools 7.0 kB/s | 4.3 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 24 kB/s | 39 kB 00:01 Puppet Repository el 8 - x86_64 3.3 kB/s | 2.5 kB 00:00 Metadata cache created. Puppet repository should be in the list of repositories available in the system. $ sudo dnf repolist Last metadata expiration check: 0:00:30 ago on Sat 18 Apr 2020 02:36:49 PM EAT. repo id repo name status AppStream CentOS-8 - AppStream 5,281 BaseOS CentOS-8 - Base 2,231 PowerTools CentOS-8 - PowerTools 1,533 *epel Extra Packages for Enterprise Linux 8 - x86_64 5,315 extras CentOS-8 - Extras 15 puppet Puppet Repository el 8 - x86_64 148 You can query a list of Puppet packages available on the repository: $ sudo dnf search puppet Last metadata expiration check: 0:03:16 ago on Thu 21 Oct 2021 04:40:12 AM EAT. ==================================================================================== Name Exactly Matched: puppet ==================================================================================== puppet.noarch : Network tool for managing many disparate systems =================================================================================== Name & Summary Matched: puppet =================================================================================== dmlite-puppet-dpm.noarch : Puppet modules for DPM configuration puppet-agent.x86_64 : The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera. puppet-release.noarch : Release packages for the Puppet repository puppet7-release.noarch : Release packages for the Puppet 7 repository puppetdb.noarch : Puppet Labs puppetdb puppetdb-termini.noarch : Termini for puppetdb puppetserver.noarch : Puppet Labs puppetserver python3-collectd_puppet.noarch : Collectd plugin to monitor puppet agents rubygem-puppet-resource_api.noarch : This library provides a simple way to write new native resources for puppet rubygem-puppet-resource_api-doc.noarch : Documentation for rubygem-puppet-resource_api rubygem-puppetserver-ca.noarch : A simple CLI tool for interacting with Puppet Server's Certificate Authority rubygem-puppetserver-ca-doc.noarch : Documentation for rubygem-puppetserver-ca rubygem-semantic_puppet-doc.noarch : Documentation for rubygem-semantic_puppet ======================================================================================== Name Matched: puppet ======================================================================================== puppet-bolt.x86_64 : Stand alone task runner rubygem-semantic_puppet.noarch : Useful tools for working with Semantic Versions ====================================================================================== Summary Matched: puppet =======================================================================================
pdk.x86_64 : Puppet Development Kit Install Puppet Master packages on CentOS 8 Linux. sudo dnf install puppetserver Puppet Agent will be installed as a dependency: Rocky Linux 8 - PowerTools 638 kB/s | 2.3 MB 00:03 Last metadata expiration check: 0:00:02 ago on Thu 21 Oct 2021 04:45:47 AM EAT. Dependencies resolved. ====================================================================================================================================================================================================== Package Architecture Version Repository Size ====================================================================================================================================================================================================== Installing: puppetserver noarch 7.4.1-1.el8 puppet 63 M Installing dependencies: copy-jdk-configs noarch 3.7-4.el8 appstream 26 k java-1.8.0-openjdk-headless x86_64 1:1.8.0.302.b08-0.el8_4 appstream 34 M javapackages-filesystem noarch 5.3.0-2.module+el8.3.0+125+5da1ae29 appstream 29 k libjpeg-turbo x86_64 1.5.3-10.el8 appstream 154 k lksctp-tools x86_64 1.0.18-3.el8 baseos 98 k lua x86_64 5.3.4-11.el8 appstream 191 k puppet-agent x86_64 7.12.0-1.el8 puppet 24 M tzdata-java noarch 2021a-1.el8 appstream 190 k Enabling module streams: javapackages-runtime 201801 Transaction Summary ====================================================================================================================================================================================================== Install 9 Packages Total download size: 122 M Installed size: 299 M Is this ok [y/N]: y Agree to import GPG key when prompted. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 22 MB/s | 122 MB 00:05 warning: /var/cache/dnf/puppet-caea408efb9b2853/packages/puppet-agent-7.12.0-1.el8.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 9e61ef26: NOKEY Puppet Repository el 8 - x86_64 1.
6 MB/s | 1.6 kB 00:00 Importing GPG key 0xEF8D349F: Userid : "Puppet, Inc. Release Key (Puppet, Inc. Release Key) " Fingerprint: 6F6B 1550 9CF8 E59E 6E46 9F32 7F43 8280 EF8D 349F From : /etc/pki/rpm-gpg/RPM-GPG-KEY-puppet-release Is this ok [y/N]: y Key imported successfully Puppet Repository el 8 - x86_64 3.1 MB/s | 3.1 kB 00:00 Importing GPG key 0x9E61EF26: Userid : "Puppet, Inc. Release Key (Puppet, Inc. Release Key) " Fingerprint: D681 1ED3 ADEE B844 1AF5 AA8F 4528 B6CD 9E61 EF26 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet-release Is this ok [y/N]: y Confirm package installation: $ rpm -qi puppetserver Name : puppetserver Version : 7.7.0 Release : 1.el8 Architecture: noarch Install Date: Fri May 6 12:42:25 2022 Group : System Environment/Daemons Size : 106546740 License : ASL 2.0 Signature : RSA/SHA256, Tue Apr 5 03:09:51 2022, Key ID 4528b6cd9e61ef26 Source RPM : puppetserver-7.7.0-1.el8.src.rpm Build Date : Tue Apr 5 03:06:26 2022 Build Host : k8s-jenkins-fpm-z70mg Relocations : / Packager : Puppet Labs Vendor : Puppet Labs URL : http://puppet.com Summary : Puppet Labs puppetserver .... Step 4: Configure Puppet Master / Server on CentOS 8 / RHEL 8 With the installation of Puppet Master / Server done on CentOS 8, it is time to start configurations. Define Puppet Master FQDN and DNS alternative names: sudo vim /etc/puppetlabs/puppet/puppet.conf Add the DNS settings under the [server] section. [server] vardir = /opt/puppetlabs/server/data/puppetserver logdir = /var/log/puppetlabs/puppetserver rundir = /var/run/puppetlabs/puppetserver pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid codedir = /etc/puppetlabs/code dns_alt_names=puppetmaster.example.com,puppetmaster,puppetserver Also configure main section like below: [main] certname = puppetmaster.example.com server = puppetmaster.example.com environment = production runinterval = 1h Where: puppetmaster.example.com is the FQDN of your Puppet server. My configurations look like below after updating: [master] vardir = /opt/puppetlabs/server/data/puppetserver logdir = /var/log/puppetlabs/puppetserver rundir = /var/run/puppetlabs/puppetserver pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid codedir = /etc/puppetlabs/code dns_alt_names=puppetmaster.example.com,puppetmaster,puppetserver [main] certname = puppetmaster.example.com server = puppetmaster.example.com environment = production runinterval = 1h Configure JVM Memory Allocation The file where you can set min and max memory for JVM is: sudo vim /etc/sysconfig/puppetserver By default it is set to 2GB. Adjust this depending on resources available on your machine. JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger" Start Puppet Server on CentOS 8 / RHEL 8 / Rocky Linux 8 After our basic Puppet Server configuration, start the service and set it to start at system boot. sudo systemctl enable --now puppetserver If you had started it earlier, then restart after modifications. sudo systemctl restart puppetserver Check service status to confirm it is running. $ systemctl status puppetserver ● puppetserver.service - puppetserver Service Loaded: loaded (/usr/lib/systemd/system/puppetserver.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-04-18 14:56:58 EAT; 18s ago Process: 4068 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=0/SUCCESS) Main PID: 4077 (java) Tasks: 42 (limit: 4915) Memory: 670.5M CGroup: /system.slice/puppetserver.service └─4077 /usr/bin/java -Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:OnOutOfMemoryError=kill -9 %p -cp />
Open Service Port on the firewall With the service started, open the port on the firewall so you can access the server from the network. sudo firewall-cmd --add-service=puppetmaster --permanent sudo firewall-cmd --reload Confirm Puppet server is working using Puppet Client on CentOS 8: $ sudo /opt/puppetlabs/bin/puppet agent --test --ca_server=puppetmaster.example.com Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for puppetmaster.example.com Info: Applying configuration version '1587211455' Info: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml Notice: Applied catalog in 0.01 seconds On the Puppet Master Node list all the available certificates: $ sudo /opt/puppetlabs/bin/puppetserver ca list --all Signed Certificates: puppetmaster.example.com (SHA256) 82:D0:CB:2D:13:09:DD:66:36:F8:B9:7A:90:3F:28:08:C7:68:F1:73:75:EF:6A:B0:EA:CC:92:16:D5:F7:4B:7A alt names: ["DNS:puppetmaster.example.com", "DNS:puppetmaster", "DNS:puppetserver", "DNS:puppetmaster.example.com"] authorization extensions: [pp_cli_auth: true] You can sign all pending certificates by running the command: sudo /opt/puppetlabs/bin/puppetserver ca sign --all Add Puppet Binary folder to $PATH Puppet binaries are located in /opt/puppetlabs/bin. This directory by default is not in your $PATH. As can be confirmed with: $ ls /opt/puppetlabs/bin/ facter hiera puppet puppetserver $ which puppet /usr/bin/which: no puppet in (/home/vagrant/.local/bin:/home/vagrant/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin) Add it to PATH: echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc source ~/.bashrc Test if working as expected: $ which puppet /opt/puppetlabs/bin/puppet Start Puppet client Let’s start puppet agent service as we’ll use it for some testing. sudo systemctl start puppet sudo systemctl enable puppet Our next guide will cover installation of Puppet Agent in your machines to be managed with Puppet. And how you can write basic manifest to install packages, add users, manage Linux services e.t.c. Reference: Puppet Documentation pages
0 notes
releaseteam · 5 years ago
Link
Getting Puppet Report Metrics from PuppetDB #DEVCommunity https://t.co/09pTM6ysx7 #puppetize #prometheus #grafana #devops
— Raphaël Pinson @ 🏡 (@raphink) June 2, 2020
via: https://ift.tt/1GAs5mb
0 notes
johanlouwers · 7 years ago
Text
FOSS Project Spotlight: Run Remote Tasks on Linux and Windows with Puppet Bolt
by John S. Tonello
Puppet, the company that makes automation software for managing systems and delivering software, has introduced Puppet Bolt, an open-source, agentless multiplatform tool for running commands, scripts, tasks and orchestrated workflows on remote Linux and Windows systems.
The tool, which is freely available as a Linux package, Ruby gem and macOS or Windows installer, is ideal for sysadmins and others who want to perform a wide range of automation tasks on remote bare-metal servers, VMs or cloud instances without the need for any prerequisites. Puppet Bolt doesn't require any previous Puppet know-how. Nor does it require a Puppet agent or Puppet master. It uses only SSH and WinRM (or can piggyback Puppet transports) to communicate and execute tasks on remote nodes.
Despite its simplicity, Puppet Bolt can execute all your existing scripts written in Bash, PowerShell, Python or any other language, stop and start Linux or Windows services, gather information about packages and system facts, or deploy procedural orchestrated workflows, otherwise known as plans. You can do all this right from your workstation or laptop.
For those already using open-source Puppet or Puppet Enterprise, Puppet Bolt enables you to take advantage of the more than 5,700 modules available in the Puppet Forge for everything from deploying database servers to setting up Docker or Kubernetes. You also can query PuppetDB directly with Puppet Bolt.
Install Puppet Bolt and Run Some Tasks
You also can install Puppet Bolt with apt or yum once you add the Puppet repositories:
$ sudo apt install puppet-bolt
You can install Puppet Bolt on Windows with the available .msi, or if you're running Bash on Windows 10, by using the Linux instructions for the flavor you installed. Follow the link in the Resources section to see detailed installation instructions for your favorite platform.
If you're running Ruby (and have gcc and make on your workstation), you can get Puppet Bolt up and running in moments with the simple command:
$ gem install bolt
In just a few minutes, you're now ready to start running one-off commands, tasks, scripts or plans. Puppet Bolt is perfect for troubleshooting or deploying quick changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment. See the built-in Puppet Bolt commands by running:
$ bolt help
Figure 1. Built-in Puppet Bolt Commands
A typical Puppet Bolt command looks like this:
Go to Full Article
https://ift.tt/2LKqtgM via @johanlouwers . follow me also on twitter
0 notes
everythingdevops-blog · 8 years ago
Text
For System Administrators, Making the Leap to DevOps is a Matter of Life and Death
DevOps is all about agility, automation and the free flow of information. When implementing DevOps, servers are often handled as interchangeable parts, which is why system administrators, who made their careers configuring and troubleshooting individual servers, have a significant role to play in the brave new world that is DevOps. However, they must find a way to apply their skills to the entire IT infrastructure that is described and managed by code i.e. managing cloud services, using automated deployment tools and code repositories.
Mass Debugging
The debugging skills that a system administrator possesses are still very much relevant in DevOps, however what changes is the scale and complexity. Also, they need to be able to take a properly tuned server and transform it into code, which something they can already do, but they would need to take this one step further and lay down those changes in a consistent and repeatable way for future deployments.
In addition to the above mentioned skills, system administrators must learn to focus on the infrastructure they can control, usually from the operating system and up, because in the cloud they most likely will not have access to, or information about any underlying hardware, networks or storage.
For example, at the operating system level, you can see whether or not you have an inefficient process that is eating up too much system memory. But, you are not able to do some of the fine tuning that you are used to doing in a Linux container in a private cloud.
SysAdmin’s Tribal Knowledge
In DevOps, if you see that your system is failing or is experiencing performance problems, it is often removed and replaced with a healthy one, instead of going through all of the hassles of debugging it. If that same system image runs perfectly when redeployed, the issue may have been with the cloud hardware or a corrupt system image. However, if the same problem persists, the server is then brought back up and the root cause analysis process is initiated.
An area where system administrators will not see a whole lot of changes is supporting legacy applications that are either too expensive or too difficult to move to the cloud. This means that they still require individual configuration and troubleshooting. Also, we must keep in mind that these legacy systems will require hands-on experience in the future, thus generating demand for veteran system administrators. This tribal knowledge around legacy systems is very difficult to replace.
In addition to this in-depth knowledge, the services of system administrators will be required when new servers need configuration, new tasks to be automated, and unexpected problems resolved.
New Technical Skills SysAdmins Will Need
In order to use their configuration, debugging and monitoring skills in DevOps, system administrators will need to supplement the skills they already have and learn new tools such as:
Languages - Most system administrators already use shell scripts to automate redundant or error-prone tasks, which is a key aspect of DevOps. But learning a new programming language such as Python or Perl can help them create more robust scripts more quickly.
Cloud Services - Because most DevOps systems run in the cloud, being able to transition from managing interfaces to Infrastructure as a Service (IaaS) offerings such as Amazon Web Services (AWS) or Microsoft Azure is a valuable skill. Anyone with basic shell scripting skills can easily pick them up.
Configurations Management - Knowing configuration management tools like Puppet or Chef will assist system administrators in automating the massive quantities of system provisioning that is vital to DevOps. By understanding the languages on which these tools are built, such as Ruby, can make it easier to extend their use to fit an organization's particular need.
Miscellaneous Tools - Inventory management tools such as PuppetDB will help system administrators identify the tools they need to manage in a fast-paced cloud environment. For performance monitoring, Prometheus and Amazon CloudWatch are excellent tools. Combined with a cloud service, it is possible to create systems of metrics to understand how your infrastructure is performing.
The next step would be to combine build management tools like Gradle and Maven, with continuous integration platforms like Jenkins. This enables system administrators to provide the agility promised by DevOps.
Along with the list of technology and product skills, system administrators need to evolve from being experts on one vendor’s product to working as generalists and collaborating with others to resolve problems. In DevOps, system administrators must share their knowledge instead of hoarding it as a means of preserving their jobs. For example, software engineers would write the Chef configuration and policy cookbooks while the infrastructure engineers assist software engineers instrument code for better monitoring and health checks.
The days of developers creating applications without much knowledge regarding the infrastructure on which they will be running are long gone. Nowadays, the value of the system administrator is not what they can do, but rather how they can help others and how can they help align this with the company’s goals and objectives.
For this reason, system administrators that are capable of taking the leap to DevOps, will not become obsolete. It can provide them with super powers that can make their skills even more valuable to a business.
0 notes
nosql · 13 years ago
Link
PuppetDB is replacing CouchDB for managing Puppet configurations and is a service layer written in Clojure with a PostgreSQL back-end. Not a graph database:
PuppetDB is a key component of the Puppet Data Library, and brings that to bear in its query API. Resources, facts, nodes, and metrics can all be queried over HTTP. For resources and nodes, there is a simple query language which can be used to form arbitrarily complex requests. The public API is the same one that Puppet uses to make storeconfigs queries (using the <<||>> operator) of PuppetDB, but provides a superset of the functionality provided by storeconfigs.
PuppetDB is faster, smarter, and has more complete data than ever before. […] PuppetDB offers great power over and insight into your infrastructure, and it’s only going to get bigger and better.
Original title and link: PuppetDB: Configuration Management Database for Puppet (NoSQL database©myNoSQL)
8 notes · View notes
mattdevuk · 11 years ago
Text
July 21st-23rd Update? :D
Okay so I've been a bit behind with these updates. It's hard to do so when I don't have my apartment to live in with decent internet :(
Luckily there's not too much to update, mostly been focusing on setting up the PuppetDBQuery module and working out how best to use it in our scenario. That seems to be done and working now. One thing I did notice, which I believe to be an issue with PuppetDB, was that overnight our Puppetmaster process increased it's RAM usage consistently until bu the morning it was high enough to stop itself from successfully updating it's own catalogue. After stopping the process and letting it release it's resources it seemed to keep itself under control again and right up until now, 10PM the following night, it seems to be working fine so maybe it was just a one-off glitch but will have to keep it in mind in the next few weeks.
Not related to either of the above points, but one issue had to deal with lately was the particular syntax for selecting an array item with Puppet.
If it is being used in an ERB template the correct format is <%= @array_name [0] %> The important part being the space between the array name and the index. If this space does not exist, then the parser will not be able to read the variable and will leave it blank.
If the variable is being used via string interpolation, the correct format is $variable="${arrayname[0]}". The important part being the lack of the space between the array name and the index. I found, especially when using Puppet's host resource, that if you put a space, it will fail to read the variable properly and leave it empty, throwing an error if used as the ip property.
The final scenario I came across, was if you were using string interpolation to generate another array. this one sounds a bit complicated so I'll show an example.
$array1=["a","b","c","d","e"] $array2=["${array1[0]}","${array1[2]}","${array1[4]}"]
Is this situation, it doesn't matter if there is a space or not between the array name and the index.
These aren't complicated things to remember but if you don't know about them and suddenly after an update everything's going crazy and you're staring at one of them going "but it looks perfectly fine" you'll kick yourself if it comes down to a simple space in the wrong place!
I don't think there's anything more to update you guys on.
I will say, that tomorrow (Thursday 24th) there is a webinar conducted by PuppetLabs to explain and explore the new features in Puppet Enterprise 3.3 - Link
There is also a webinar by Atlassian tomorrow too, about using Git for Continuous Integration - Link
1 note · View note
zoojar · 10 years ago
Text
PUPPET: DYNAMIC FILEBUCKET SERVERS USING DALEN-PUPPETDBQUERY!
What if you could make a quick db query to see what the puppetmaster’s fqdn is?!.... 
Ok, so site.pp has some static crap in it about your puppet master and where your agent should stuff its files...
#/etc/puppetlabs/code/environments/production/manifests/site.pp # Define filebucket 'main': filebucket { 'main':  server => "puppetmaster.local", # <-- static server name :(  path   => false, }
When the agent runs and fails to find it’s filebucket (usually set to your puppet master) you get an error like this:
Error: /Stage[main]/Puppet_enterprise::Mcollective::Server/File[/etc/puppetlabs/mcollective/server.cfg]/content: change from {md5}73e68cfd79153a49de6f5721ab60657b to {md5}4a934b6c050e5196eaf71d87c81899a6 failed: Could not back up /etc/puppetlabs/mcollective/server.cfg: getaddrinfo: Name or service not known
Puppetlabs kindly documented this error here.
But what if you could make a quick db query to see what the puppetmaster’s fqdn is?! - This would be great because your site.pp would’t need to be updated per site!
So I grab the amazing dalen-puppetdbquery module from the forge and use it to locate the master, and now my site.pp becomes...
#/etc/puppetlabs/code/environments/production/manifests/site.pp # Define filebucket 'main': $puppetmaster = query_nodes('Class["puppet_enterprise::profile::master"]’)[0] filebucket { 'main':   server => "${puppetmaster}",   path   => false, }
The first element in the array is at least sure to be your puppet master (a node that got assigned the “puppet_enterprise::profile::master” class).
If you’re scaling masters then perhaps tag one?
0 notes
sevennet-blog · 10 years ago
Text
How to: Could Puppet-reports be removed once these have been processed by Puppet-dashboard or PuppetDB? #dev #development #fix
How to: Could Puppet-reports be removed once these have been processed by Puppet-dashboard or PuppetDB? #dev #development #fix
Could Puppet-reports be removed once these have been processed by Puppet-dashboard or PuppetDB?
Puppet-reports are using a lot of diskspace in:
/var/lib/puppet/reports /var/lib/mysql
The assumption is that it stores all reports in the MySQL database, because both paths are about the same size. The resource_statuses table consist of rows that each represent a line in a reports file.
Can one…
View On WordPress
0 notes
mattdevuk · 11 years ago
Text
July 17th Roundup
Today was a bit tedious with lots of failed Puppet runs but worth it in the end!
Spent half the day creating a local Vagrant environment that matches our live one as close as possible. Then I worked on getting PuppetDB installed to help us gather information about our nodes.
The only issue with PuppetDB is that there isn't a nice interface, the only web screen shows the stats of the process such as it's memory usage etc. Leaving us with 2 alternatives.
Add in Puppet Dashboard which gives us a nice interface, ability to interact with the nodes. The downside to this is that Puppet Dashboard uses it's own database, and can't be made to sit on top of PuppetDB, so it would essentially mean 2 databases, storing the same information.
Use one of the few front ends created to sit on top of PuppetDB.
In the end, I settled on Puppetboard. It is a nice extension of PuppetDB, that gives you a nice clear interface displaying catalogue run results, facts, metrics and also perform queries right from the browser.
Sent the rest of the day and on onto the evening creating a nice, clean manifest in the Vagrant environment that would ensure al components for these new additions get installed cleanly and properly without interfering with anything else on the server.
Look forward to porting it to the live servers tomorrow! Also have a sneaking suspicion that tomorrow will also involve a MongoDB upgrade :)
1 note · View note