git commit -m 'gay'

All of the blunderous commit messages from John.

2021 Commits

jfabry-noc.github.io

Added Cloudflare Analytics script to the end of the index.html page.

01/23/2021 17:58:20

LogicMonitorGroovy

Added a discovery and collection script for XIQ switch port status. The discovery script tunes out APs and switches that are not currently connected since their ports will always be down. For switches that are active, ports translate their status to an integer for LogicMonitor with 1 being up, 2 being administratively disabled, and 3 being down.

01/22/2021 16:52:29

LogicMonitorGroovy

Added the EXOSSWITCH and XR600P devices models for the aggregate data. Modified the Active Discovery details to use the device model as the description in LogicMonitor.

01/22/2021 15:01:08

DeskTickets

Fixed a bug in both scripts where I was accidentally calling the non-existant os.exit() method rather than sys.exit() to close the script.

01/22/2021 13:36:44

DeskTickets

Added a second script to the repository to process agent and account metrics only for the previous month. This will allow for the metrics in the yearly script to be built upon in an ongoing basis. It will write agent and account .csv files named with the year and month combination of the data gathered.

01/20/2021 16:31:39

GroovyMSAL

Updated the README to actually say what the heck the purpose of this repo is.

01/20/2021 13:13:19

GroovyMSAL

Modified the handling of the received token to leverage the .accessToken() method on it. Passing this value to the request for user data is successful rather than passing the entire IAuthenticationResult object.

01/20/2021 13:07:08

GroovyMSAL

Added a second variant of the script that uses the exact same function as the sample Java code from Microsoft other than not containing global variables, but it generates the same issue with the JWT. Also verified that intentionally flubbing the client ID, tenant ID, secret, or scope generates a specific error for that piece of information.

01/20/2021 02:18:46

GroovyMSAL

Added functions for getting an authentication token and then querying for the AAD users. Functions are complete, but there's currently an issue with retrieving a valid JWT.

01/20/2021 01:49:41

LogicMonitorGroovy

Added a call to Math.round() for the available licenses since Groovy was setting the difference of the subtraction to a float. The operand for the total licenses will always be a whole number, but the number of consumed licenses can be a decimal depending on the collection metrics returned from the /graphs/ endpoint.

01/19/2021 15:43:23

LogicMonitorGroovy

Added calculations for the percentage of free licenses for an rXg instance. Printed the percentage, total licenses, and total consumed licenses to standard out for LogicMonitor. The calculations and comparisons of the different levels may need to be modified further once a clustered implementation is available for testing.

01/19/2021 15:36:14

LogicMonitorGroovy

Cleaned up formatting and comments. Modified the final println calls to the key-value pair format expected by LogicMonitor.

01/19/2021 15:21:42

GroovyMSAL

Added the basic code with the Grape statement and msal4j import from the Maven repository, along with the method imports. Added the code for importing the AAD-specific information from a local JSON file. Created a .gitignore to keep the .json file and Vim .swp files from accidentally being included in the GitHub repo.

01/19/2021 00:40:33

GroovyMSAL

Initial commit

01/19/2021 00:28:31

LogicMonitorGroovy

Added switch model X435_24P_4S to the keys.

01/18/2021 18:59:28

LogicMonitorGroovy

Modified the URL to query to account for the different cloud providers that may be hosting the instance; the value for the URL base is specified as a property on the resource in LogicMonitor.

01/18/2021 16:56:42

LogicMonitorGroovy

Added the moving of each valid health notice into a list of dictionaries. The list is then parsed to JSON and printed to standard out for LogicMonitor to ingest each item in the list as an event. Also cleaned up the comments and test code, specifying the production values.

01/18/2021 16:18:22

LogicMonitorGroovy

Renamed the file for health notices to reflect that was the use. Replaced the conditional logic from the last commit for removing the : from the timezone offset in the creation timestamp for each notice with a regex.

01/18/2021 15:47:49

LogicMonitorGroovy

Created a DataSource for getting the health notices from an rXg. Implemented the ability to query for all notices, along with code to reformat the creation date timestamp and parse to a Date object for comparison.

01/15/2021 21:31:55

LogicMonitorGroovy

Added the basline code for querying the total number of concurrent licenses on the platform. Checks if the licensing is standalone or clustered. Captures the peak concurrent usage over the past 10 minutes and reports on the highest value.

01/14/2021 21:58:22

LogicMonitorGroovy

Created a script to parse out the certificate details for an rXg. The end date of the certificate's validity is compared to the current date, and the number of days remaining (or passed) are reported to LogicMonitor for alerting.

01/14/2021 14:46:31

LogicMonitorGroovy

Added a discovery script to exclude APs and get only switches from XIQ. The device IDs are passed to a collector script which then dumps the switch configuration into LogicMonitor.

01/13/2021 19:03:37

LogicMonitorGroovy

Modified the URL parsing for the script getting the SSID config of each device to match the parsing for the device discovery so that each cloud host and VIQID is accounted for.

01/13/2021 15:21:37

LogicMonitorGroovy

Updated the URL from being hard-coded to account for both the cloud hosting the XIQ instance and applying the appropriate VIQID needed for all calls.

01/13/2021 15:11:30

jfabry-noc.github.io

Merge branch 'master' of https://github.com/jfabry-noc/jfabry-noc.github.io

01/13/2021 14:16:12

jfabry-noc.github.io

Modified the first paragraph to match the content at https://unusually.pink/about/

01/13/2021 14:15:20

LogicMonitorPwsh

Added a new conditonal for a specific customer match to check data regardless of modem status.

01/12/2021 21:23:06

DeskTickets

Moved the writing of the .csv files to a function. Added an additional function to handle the deletion of existing .csv files prior to writing new ones to avoid manual cleanup prior to subsequent runs of the script.

01/11/2021 18:45:04

DeskTickets

Moved both accounts and agents to use the same object type. Added code to write a .csv file for each of the 4 lists created if the list contains content. Placed those into a results folder which has been excluded in the .gitignore file.

01/11/2021 16:14:51

DeskTickets

Added logic for tickets matching the first comparison year to gather account and agent details for each, including the ability to account for tickets where account or agent information wasn't supplied.

01/08/2021 22:18:54

DeskTickets

Added a function to iterate through all pages to return every ticket in the instance.

01/08/2021 16:54:14

DeskTickets

Added an untracked file for the API configuration. Created a function for POSTing to Desk to get an authentication token that will be used with subsequent queries.

01/08/2021 16:18:21

DeskTickets

Initial commit

01/08/2021 15:36:33

O365Logins

Modified the recipient email to the DL which will receive the messages long-term. Updated the filtering of the accounts to prevent the inclusion of known service accounts that are accessed via delegation rather than direct login.

01/07/2021 15:21:09

O365Logins

Manually removed the __pycache__ directory since I forgot to do it when I added it to the .gitignore file.

01/06/2021 22:19:39

O365Logins

Added __pycache__/ to the .gitignore.

01/06/2021 22:17:03

O365Logins

Added additional checks for whether the account is a guest and if it has licensing assigned. The licensing assignment check weeds out shared mailboxes and resource mailboxes. Added an import for my send_email function from an external module and added code leveraging that to send an email with a table of results to a recipient value.

01/06/2021 22:15:21

O365Logins

Added a function to query for the single audit log entry for each user. Added code to parse together the HTML body for the email that would be sent in an instance where there is a hit. The audit log is finite, so accounts with no audit log entry are set to the maximum audit log threshold of 90 days.

01/06/2021 21:31:33

LogicMonitorGroovy

Replaced a standardized email address for ticket filtering with an updated one the customer is now using.

01/06/2021 16:06:51

O365Logins

Added code for logging the activity of the script since it will run unattended as a cron job once completed. Included supplementary function for backing up the log file on the local file system once it grows too large. Added functions for getting an authentication token from the Microsoft Graph and validating that token. Created a function for querying the Graph for data, and then code calling that function to return the entire list of users in the tenant.

01/05/2021 23:35:51

O365Logins

Added a baseline .gitignore file for Python projects.

01/05/2021 22:38:39

GitCommit

Also modified the relative link to the header image in the 2020 page.

01/05/2021 22:36:31

GitCommit

Fixed the relative links to the CSS in the 2020 page.

01/05/2021 22:35:48

GitCommit

Copied all 2020 commits to a dedicated 2020 page. Removed the 2020 commit content from the main page and changed the heading to indicate that it was for 2021 commits. Added links to the 2020 and 2021 commits in the footer. Modified the image at the top of the page to link to the main index.

01/05/2021 22:34:05

O365Logins

Initial commit

01/05/2021 22:26:31